"通常每个套接字只允许使用一次"出现这个错误怎么办?
下面的代码总是出错,提示信息为"通常每个套接字只允许使用一次",
大家帮我看看错误出在哪里.
//异步侦听客户端的信息
public void WatchClient()//接收到的字符没有处理!!!
{
//用来接受字符的缓冲区
byte[] bytes=new byte[1024];
//得到本地终结点
IPEndPoint localEndPoint=GetLocalIPEndPoint();
//定义套接字类型
Socket listener=new Socket (AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
//绑定
try
{
//调用Bind方法将套接字(listener)与本地终结点"关联"
listener.Bind(localEndPoint);
//开始侦听
listener.Listen(7);
while(true)
{
//复位,将事件的状态设置为非终止
acceptDone.Reset();
//显示信息
RefreshStatusBar("等待连接...");
//开始一个异步请求,以创建新的 Socket 来接受传入的连接请求
listener.BeginAccept(new AsyncCallback(AcceptCallBack),listener);
//阻塞当前线程
acceptDone.WaitOne();
}
}
catch(Exception e)
{
RefreshStatusBar(e.Message);
}
}