我做了一个TCP多线程通信程序
各地的客户端将数据发送到我这里的服务器
现在大概有20多个客户端。 一个客户端连接到服务器。服务器就分配一个新的线程专门处理它的数据这个程序运行 一天 CPU使用率就高到70%多了 我不知道我可能在这个程序中犯什么错误 会导致这样的结果?
各地的客户端将数据发送到我这里的服务器
现在大概有20多个客户端。 一个客户端连接到服务器。服务器就分配一个新的线程专门处理它的数据这个程序运行 一天 CPU使用率就高到70%多了 我不知道我可能在这个程序中犯什么错误 会导致这样的结果?
解决方案 »
- 页面上有6个按钮,button1,button2...button6,这6个按钮对应6个单击事件调用的是同一个方法void A(),除了写6次事件还有别的方法吗
- vs中怎么在文本框里显示数据库的数据啊,详细如下 [问题点数:20分,结帖人xqs001001]
- C#实现的,在wince6.0系统的机顶盒使用MSMQ给xp系统的pc机发消息
- C# 正则表达式替换HTML 中的 script 标签
- ??? FastReport 该报表如何设计 ???
- c#文件复制问题。?
- 如何将输入的公式字符串转化为实际的运算公式
- 关于窗口激活的问题
- 我这样的异步UDP侦听错了吗?
- 这个问题怎么解决
- VS到底怎么生成符合名字要求的exe程序?
- C#-VS2008-datacontrol-listview(1)初学篇
bool Receive_Month=true;
while (Receive_Month)
{
try
{
sock.Receive.....
}catch (SocketException e)
{
if (SocketError.ConnectionReset == e.SocketErrorCode)
{
Receive_Month=false;
.....
}
}
}
}
所以记着每次释放
建议所有的死循环在第一句话都Sleep。另外,在客户端连接上来以后,先Sleep个几毫秒,我一般Sleep 10毫秒。这是一个好习惯,但是具体为什么这么做我没有去深究。希望对楼主有用。
bool Receive_Month=true;
while (Receive_Month)
{
Thread.Sleep(20);
try
{
sock.Receive.....
}
catch (SocketException e)
{
if (SocketError.ConnectionReset == e.SocketErrorCode)
{
Receive_Month=false;
.....
}
}
}
}