C# socket异步通信丢包现象 求解答 我们最近项目上位机和下位机通信,上位机客户端是用C#写的 下位机是C语言linux操作系统,每当下位机发送数据过来到客户端会出现丢包现象,客户端是开启两个线程,一个发送线程,一个解析线程,采样的Socket异步通信模式,当接受到服务端信息时,将报文放入一个队列里面,解析线程会循环遍历处理这个队列!但是会出现丢包现象,跪求答案 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果用的是tcp协议 请给予读取一定的休眠时间,因为网络延迟 或者计算机延迟,部分数据阻塞在 某个机器的 网卡中等待发送是常见的。 最好的方法 是使用wcf, 别自己从头写socket了 我一个线程在读取队列的时候 会给予10毫秒的休眠时间,还是出现这个现象代码如下 /// <summary> /// 解释所有接收指令 /// </summary> private void ProcessInBookCommand() { //ThreadPool.SetMaxThreads(10, 200); //ThreadPool.SetMinThreads(2, 40); while (true) { if (TaskQueue.InBox.Count > 0) { InCommand inCommand = TaskQueue.InBox.Dequeue(); //加入线程池队列 ThreadPool.QueueUserWorkItem(new WaitCallback(Interpret), inCommand); } Thread.Sleep(10); } } 使用无连接模式,连接数据库,是不是都会出现无法及时更新的问题? C#怎样读取配置文件 c# combobox问题! 超无敌ComBoBox带源码以及示例,如果有需要的朋友可以在此顶一下 咨询一个安装的问题 如何让TEXTBOX里面的内容只能是数字。 C#中 乘方计算用的是什么符号啊? ^ 复活在C#中是逻辑运算符 在线急等 求高手解答 关于酒精测试仪的开发,请教高手 WPF,这种数据绑定怎么写? C#中的异步请求问题 求个SQL 2005的下载地址! 怎么控制win7里面的声音音量
代码如下
/// <summary>
/// 解释所有接收指令
/// </summary>
private void ProcessInBookCommand()
{
//ThreadPool.SetMaxThreads(10, 200);
//ThreadPool.SetMinThreads(2, 40);
while (true)
{
if (TaskQueue.InBox.Count > 0)
{
InCommand inCommand = TaskQueue.InBox.Dequeue();
//加入线程池队列
ThreadPool.QueueUserWorkItem(new WaitCallback(Interpret), inCommand);
} Thread.Sleep(10);
}
}