读书人

关于socket监听的有关问题

发布时间: 2012-01-26 19:40:46 作者: rapoo

关于socket监听的问题
我的服务器端监听程序如下:
socket.Bind(localhost);
while (true)
{
socket.Listen(0);
Socket newSocket=socket.Accept();
string rcvStr= " ";
byte[] rcvBytes=new byte[1024];
int iCount=newSocket.Receive(rcvBytes,rcvBytes.Length,0);
rcvStr +=Encoding.ASCII.GetString(rcvBytes,0,iCount);
//这里是主要的处理过程,耗时一般较久
...
}
现在我发现这个监听程序只能同时处理一个请求,如果该请求正在处理,另外一个请求发过来时,这个服务器端并不会接收到,我应该怎么做呢?只有这么多分了,请大家不要嫌分少

[解决办法]
用异步吧。BeginAccept,EndAccept
[解决办法]
新建一个线程来接受Socket的信息。

接受方法不要跟监听放在同一线程里

读书人网 >C#

热点推荐