首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于socket监听的有关问题

2012-01-26 
关于socket监听的问题我的服务器端监听程序如下:socket.Bind(localhost)while(true){socket.Listen(0)So

关于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的信息。

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

热点排行