"通常每个套接字只允许使用一次"出现这个错误怎么办?

junes8250 junes8250 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
下面的代码总是出错,提示信息为"通常每个套接字只允许使用一次",
大家帮我看看错误出在哪里.


//异步侦听客户端的信息
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);
}
}
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
junes8250
C# 111,129 成员 642,540 内容