chắc là tại vì chưa có client connect đó, thử bỏ vào try catch xem nao
mình làm với console thì chạy được , nhưng làm với FORM thì chả hiện lên cái gì hết .. nhưng mình biết nó vẫn đang hoạt động . có cao nhân nào giúp mình khắc phục nó ko . cảm ơn rất rất nhiềuCode:using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using System.Net; namespace WindowsFormsApplication8 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint ie = new IPEndPoint(IPAddress.Any, 9000); s.Bind(ie); s.Listen(10); Socket sc = s.Accept(); byte[] data = new byte[1024]; data = Encoding.ASCII.GetBytes("Chao Client"); sc.Send(data, data.Length, SocketFlags.None); while (true) { string st; byte[] dl = new byte[1024]; int k = sc.Receive(dl); st = Encoding.ASCII.GetString(dl, 0, k); if (st.ToUpper().Equals("QUIT")) break; MessageBox.Show(st); st = st.ToUpper(); dl = new byte[1024]; dl = Encoding.ASCII.GetBytes(st); sc.Send(dl, dl.Length, SocketFlags.None); } sc.Close(); s.Close(); } } }
Quá yêu em khiến em xem
Đó như là sơ hở
Em điểu khiển và biến tôi thành 1 thằng khở
chắc là tại vì chưa có client connect đó, thử bỏ vào try catch xem nao
mình đã thử cho client kết nối , nhưng khi client gửi dữ liệu lên sv thì form hiện lên , khi client ko gửi dữ liệu thì sv ở trạng thái not responding .
mình đang làm cái chat giữa sever và client. chat thì chat được mà sv cứ ở trạng thái not responding nên ko viết được gì vào form đó cả , chỉ có mỗi client độc thoại thôi . mình dùng win 7
Quá yêu em khiến em xem
Đó như là sơ hở
Em điểu khiển và biến tôi thành 1 thằng khở
Không biết gì về socket, nhưng thiết nghĩ ở form_load mà viết hàm xử lý nhiều vậy, lại còn liên quan đến network thì biết bao giờ mới chạy xong form_load để hiện form lên?
p/s: ta là gấu
đây là bài mình làm, mới viết server tới client và ngược lại thôi chứ chưa viết client qua client. Sorry nếu ko giúp dc. Tại mình mới học xong môn này
Bạn ơi bỏ xử lý ra khỏi formload đi. code thế kia là do server chưa nhận client ~> form cũng ko load
Code của bạn rất ko ổn. Socket chạy dạn sync nó sẽ làm đứng chương trình cho đến khi có sự kiện socket mà nó mong muốn xảy ra. Do đó hàm form_load ko thể trả về ngay được. Mà hàm Form_Load chưa trả về thì form cũng ko thể hiện lên được.
Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.
Theo mình thì bạn nên đọc lại cho hiểu và xem lại các ví dụ trong ebook lập trình mạng với socket ( mình chắc là bạn đang đọc ebook này).
Như bài trên của bạn thì nên dùng 1 thread để đảm nhiệm việc nhận dl nữa. Chỉ đưa các câu lệnh tạo socket,lắng nghe kết nối, thread nhận dl vào Form_load thôi. Mình có demo làm lâu rùi, bài chat như của bạn thuộc folder Chat_WF trên cửa sổ Solution Explore nhé, có 2 form Server và client, ban đầu cho server listen trc, rùi cho client connect sau -> Chat thoải mái