当前位置:编程学习 > C#/ASP.NET >>

SocketAsyncEventArgs类的服务器为啥停止服务无效,还能收到客户端数据

SocketAsyncEventArgs类作为服务端启动监听正常,但手动停止监听后,客户端发送的数据,服务端还能收到,好像没停掉,这是为什么?
代码就是MSDN官方示例。
http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socketasynceventargs(v=vs.90)
示例的关闭是这个方法:private void CloseClientSocket(SocketAsyncEventArgs e)
我增加了一个 停止服务器监听的方法,用来直接从服务端界面停止监听服务:public void Stop(),就是这个方法停止无效。

public void Stop()
{
    m_bufferManager = null;
    m_readWritePool.Clear();
    listenSocket.Close();
}

--------------------编程问答--------------------

mythread.Interrupt();  
mythread.Abort();  
GC.Collect();  

http://blog.csdn.net/fengyarongaa/article/details/6631953 --------------------编程问答-------------------- 谢谢,看了,不过你用的线程,我参考的是MSDN上 SocketAsyncEventArgs类的示例,还不太一样。 --------------------编程问答-------------------- 我觉得要注意一下你停止线程的时候 是不是是从主线程操作的,另外你确定你停止的是侦听的socket,还有一个传入(acceptsocket)的socket
补充:.NET技术 ,  .NET Framework
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,