请问使用TcpListener时CPU狂占资源,衣问有什么好的解决办法吗
解决方案 »
- c# 接口 JOSN
- 如何将BYTE[]转成INT16[]?
- c# 文件名字符 ”<“的问题
- WinFrom 系统托盘上的图标闪动?
- c# 从二进制文件中读取结构体
- 怎样判断数据库里的日期在dateTimePicker的日期之后
- 关于EF继承Model的表关系
- 组件注册asembly sucessfully to the cache 已成功,但在asp中无法调用,在创建组件时就提示错误 '80070002'
- winform
- 如果已经用设计视图创建好dataset后如何利用dataset来向数据库添加记录??
- VB6中的一个常量Const HKEY_LOCAL_MACHINE = &H80000002,在VB.NET中如何表示,在C#中又如何表示
- 关于oracle数据库读取后插入本地sql server的问题(补代码)
你程序里的加这样了没?
或则使用异步方式
listener.Start();
while(true)
{
TcpClient client = listener.AcceptTcpClient(); //AcceptTcpClient 是一个阻止方法,不必担心一直循环占用cpu
}
//或者你也可以用这样写
while(true)
{
if(listener.Pending())
TcpClient client = listener.AcceptTcpClient(); //AcceptTcpClient 是一个阻止方法,不必担心一直循环占用cpu
else
Thread.Sleep(100);
}
while(true)
{
if(tcplistener.Pending())
{
执行代码
}
}