求各位大神帮处理个报错信息啊 关于线程与监控的问题

哈利路亚2 哈利路亚2 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
应用程序: WindowsFormsApplication1.exe Framework 版本: v4.0.30319 说明: 由于未经处理的异常,进程终止。异常信息: System.InvalidOperationException 在 System.Net.Sockets.Socket.Accept() 在 WindowsFormsApplication1.Form1.WatchConnecting() 在 System.Threading.ThreadHelper.ThreadStart_Context(System.Object) 在 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) 在 System.Threading.ThreadHelper.ThreadStart()

上面是报错 我贴出代码来

 void WatchConnecting()
{
while (true) // 持续不断的监听客户端的连接请求;
{
// 开始监听客户端连接请求,Accept方法会阻断当前的线程;
Socket sokConnection = socketWatch.Accept(); // 一旦监听到一个客户端的请求,就返回一个与该客户端通信的 套接字;
// 想列表控件中添加客户端的IP信息;
lbOnline.Items.Add(sokConnection.RemoteEndPoint.ToString());
zxnum = zxnum + 1;
label1.Text = zxnum.ToString();
// 将与客户端连接的 套接字 对象添加到集合中;
dict.Add(sokConnection.RemoteEndPoint.ToString(), sokConnection);
ShowMsg("客户端连接成功!");
Thread thr = new Thread(RecMsg);
thr.IsBackground = true;
thr.Start(sokConnection);
dictThread.Add(sokConnection.RemoteEndPoint.ToString(), thr); // 将新建的线程 添加 到线程的集合中去。
}
}


RecMsg的方法就是做一下简单的展示跟录入数据库的工作 请问各位大神 上面的代码哪里会出现刚才报错?应该怎么处理解决?

下面还有一部分代码

还有一个问题,代码运行一段时间后 比如1天后,内存的占用很高是为什么? 客户端也没链接多少上来,也就是50个左右
...全文

相关推荐

评论 22
收藏 已收藏
分享
返回顶部
哈利路亚2
C# 111,128 成员 642,536 内容