作者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
1F:→ tacoq:因为会block直到Accept() return为止,也就是有人连上之後 12/10 02:08
2F:→ tacoq:可以考虑开一个thread来处理Accept() 12/10 02:09
3F:→ tacoq:写在while(true)里是一个client处理完後再accept下一个 12/10 02:10
4F:→ Arton0306:感谢^^ 12/10 02:29