马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
:sweat:标题说不清楚
先贴源码
这个是服务端的部分代码 private void Form1_Load(object sender, EventArgs e)
{
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 6543));
socket.Listen(10);
thread = new Thread(() =>
{
while (true)
{
Socket s = socket.Accept(); /*主要是这句,如果这句放在循环里面的话每个客户端只能发送一次信息 ,如果将这句放到循环上面的话,只有第一个客户端能连上并且可以发送多次 */
byte[] buffer = new byte[1024];
int n = s.Receive(buffer, buffer.Length, 0);
string str = Encoding.Default.GetString(buffer).Trim('\0');
Invoke(new MethodInvoker(() => {
this.textBox1.AppendText(str);
this.textBox1.AppendText("\r\n");
}));
byte[] tmp = Encoding.Default.GetBytes("服务端返回信息...");
s.Send(tmp, tmp.Length, 0);
}
});
thread.Start();
this.Text = "服务器已开启";
}
|