static void tcp()
{
MessageBox.Show("Beginning...");
System.Net.IPAddress ipAddress = System.Net.IPAddress.Parse("127.0.0.1");
IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, 20061);
TcpClient connection = new TcpClient();
connection.Connect(ipEndPoint);
NetworkStream stream = connection.GetStream();
var reader = new StreamReader(stream);
var writer = new StreamWriter(stream);
writer.WriteLine("/api/subscribe?source=console&key=d41c411558628535bbad927b1ad667c823e37a7e06e1b0a61ce707ed287bb4bb&show_previous=true");
writer.Flush();
var line = reader.ReadLine();
if (line != "success")
throw new InvalidOperationException("Failed to connect");
while ((line = reader.ReadLine()) != null)
{
MessageBox.Show(line);
Program.Form3 Form3 = new Program.Form3();
Form3.textBox1.Text = Form3.textBox1.Text + "\r\n" + line;
}
}
這是我得到的代碼。我想連接到我的服務器,通過TCP等待請求。但是,這段代碼不起作用,我不知道爲什麼。當它在主線程上時,程序就凍結了。現在,當它在另一個線程(tcp())上時,什麼都沒有發生,並且服務器甚至沒有收到任何東西。TcpClient不連接,程序死機,服務器沒有收到任何東西
我檢查服務器是否完全正常運行,它100%的工作。我使用SimpleTCP進行檢查。 (我連接到127.0.0.1通過端口20061,併發出了命令「/ API /訂閱?源=控制檯&鍵= d41c411558628535bbad927b1ad667c823e37a7e06e1b0a61ce707ed287bb4bb & show_previous =真」,並開始接受字符串我想要的。)
我只是想連接到TCP,發送一個命令,並開始接收字符串。
噢,我確定會調用線程,當我點擊按鈕「連接」時出現消息框。
您能否添加服務器實現的代碼? – 2013-03-07 19:02:01