作者Arton0306 (沒有怎麼辦)
看板C_Sharp
標題[問題] Socket的accept
時間Sun Dec 10 01:18:38 2006
try
{
Socket cbsocket = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
IPEndPoint serverhost = new IPEndPoint(IPAddress.Parse("210.58.5.192"),
9225);
cbsocket.Bind(serverhost);
cbsocket.Listen(10);
Socket clientSocket = cbsocket.Accept();
String msg="Message from server....";
clientSocket.Send(Encoding.ASCII.GetBytes(msg));
}
catch (SocketException ex) {
textBox1.Text = ex.ToString();
}
抱歉 我是網路程式新手@"@
請問一下為什麼這程式一執行會不能動(視窗沒反應)
要等client連上才會動
我看一本書是把
Socket clientSocket = cbsocket.Accept();
這一行放在while(true)中
不過也沒寫為什麼= =|||(好爛的書)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.58.5.192
→ tacoq:因為會block直到Accept() return為止,也就是有人連上之後 12/10 02:08
→ tacoq:可以考慮開一個thread來處理Accept() 12/10 02:09
→ tacoq:寫在while(true)裡是一個client處理完後再accept下一個 12/10 02:10
→ Arton0306:感謝^^ 12/10 02:29