try { Int32 port = 1111; IPAddress localAddr = IPAddress.Parse("192.168.0.103"); tcpl = new TcpListener(localAddr,port); tcpl.Start(); lblStatus.Text = "正在监听!"; while (true) { Socket QS=tcpl.AcceptSocket(); Byte[] Stream = new Byte[1024]; QS.Receive(Stream); string message = System.Text.Encoding.UTF8.GetString(Stream); richTextBox1.AppendText(message); } } catch (Exception ex) { MessageBox.Show(ex.Message); } 以上是我的代码 为什么一到AcceptSocket就卡住了呢?private void Send() { try { string msg = "<" + textBox4.Text + ">" + textBox3.Text; TcpClient tcpc = new TcpClient(txtIP.Text, 2222);//客户端以这个IP地址和端口发送数据过去 NetworkStream tcpStream = tcpc.GetStream(); StreamWriter reqStreamW = new StreamWriter(tcpStream); reqStreamW.Write(msg); reqStreamW.Flush();//清理缓冲区 tcpStream.Close();//关闭 tcpc.Close();//客户端连接关闭 richTextBox1.AppendText(msg); textBox2.Clear(); } catch (Exception) { lblStatus.Text = "目标计算机拒绝连接请求!"; } }这里有办法把字符串msg的内容传递到另外一个机子上的文本框里面吗?我这里是两个方法,,,都分别写在不同的程序里面的!我的QQ11018230 感激不尽
没有请求到达,当然要“卡”住,要不后面的代码跟谁通信?后面的代码就是跟“请求者”通信,既然没有请求者,当然会在AcceptSocket这里“卡”住,术语叫程序阻塞,socket同步通讯就是这个步骤,执行到AcceptSocket就会阻塞等待请求,直到有请求到达时,才执行后面的语句,并且处理这个请求,