我正在处理的 TCP 客户端有问题。出于某种原因,客户端似乎正在连接,但它没有向输出框读取任何内容。这是代码:
private void button1_Click(object sender, EventArgs e)
{
string host = textBox1.Text;
int port;
port = Convert.ToInt32(textBox2.Text);
port = int.Parse(textBox2.Text);
string sendText = textBox3.Text;
Socket connectSocket = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
connectSocket.Connect(host, port);
System.IO.StreamReader connectionRead
= new System.IO.StreamReader(new NetworkStream(connectSocket));
connectSocket.Send(System.Text.Encoding.UTF8.GetBytes(sendText));
while (connectionRead.Peek() > 0)
{
this.textBox4.AppendText(connectionRead.ReadLine() + "\r\n");
}
connectSocket.Close();
}
对于对象名称,我很抱歉,我这样做有点匆忙。不过应该不难理解。我从 textBox(s) 获取用户输入并将其放入变量中。
我似乎陷入了困境:
while (connectionRead.Peek() > 0)
{
this.textBox4.AppendText(connectionRead.ReadLine() + "\r\n");
}
在这里,程序冻结了大约 20 秒,然后解锁,没有输出(程序没有崩溃)。
非常感谢任何帮助!