我遇到了我正在處理的TCP客戶端的問題。出於某種原因,客戶端似乎正在連接,但它不會讀取任何內容到輸出框。這裏是代碼:簡單TCP客戶端C#Windows窗體的問題
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秒左右,然後用無輸出解鎖(程序不會崩潰)。
任何幫助都很讚賞!
對方是否發送任何數據? – McKay
更具體一點,對方是否發送NewLine字符? – I4V
我不確定如何判斷對方是否真的發送任何東西。這是我的第一個TCP項目,哈哈。 –