问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

socket接收数据一定要写在一个死循环里吗

发布网友 发布时间:2022-05-02 23:27

我来回答

1个回答

热心网友 时间:2022-06-28 08:21

将接收数据的过程交给其他线程处理,或者使用如 clawclaw(唏嘘的胡渣)  提供的异步接收方式。不使用while死循环!

参考:

private System.Threading.ManualResetEvent receiveEvent = new System.Threading.ManualResetEvent(false); 
  
         private void ReceiveData() 
         { 
             while (true) 
             { 
                 receiveEvent.Reset(); 
                 if (m_Socket != null && m_Socket.Connected) 
                 { 
                     StateObject stateObject = new StateObject(); 
                     stateObject.workSocket = m_Socket; 
                     NetworkStream stream = new NetworkStream(m_Socket); 
                     try 
                     { 
                         stream.BeginRead(stateObject.buffer, 0, MaxBuffer, new AsyncCallback(ReceiveData), stateObject); 
  
                     } 
                     catch 
                     { 
                     } 
                 } 
                 receiveEvent.WaitOne(); 
             } 
         } 
  
         private void ReceiveData(IAsyncResult ar) 
         { 
             receiveEvent.Set(); 
         }

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
无水奶油对健康的影响是什么? 《米修斯之印》预约奖励介绍 蓝色星原旅谣在哪预约-游戏预约地址 阴阳师百闻牌taptap礼包怎么领_taptap礼包兑换码分享 猫之城抽卡怎么退出 猫之城测试资格怎么获得 内测名额申请教学 猫之城预约奖励有什么 预约奖励详细攻略 无人机怕什么干扰?解析无人机干扰的类型及应对措施 什么叫干扰三要素 观察动物日记越多越好 spark streaming是怎么接受socket数据 安徽邮政储蓄银行定期存款利率表2022 int nSocketType = SOCK_STREAM 或者SOCK_DGRAM,其中SOCK_STREAM和SOCK_DGRAM分别什么含义? php的stream_socket_server与stream_socket_client如何用? c# socket 在传输对象序列化后的stream流会丢失吗? Socket和NetworkStream的区别 为什么这样建立socket,再用Stream写数据会报错:Bad file descriptor! 亲,关于两访两创的通讯稿怎么写? 已经申请了9位厂商识别代码697119130,想生成13为商品条形码怎么弄呢。_百度问一问 慰问电力抢修工人的对联!在线等! 条形码前8位是厂商识别代码,后面5位的前4位是不是随便使用? 塔罗牌大阿卡那牌22张分别代表什么 求塔罗牌大阿尔卡那各张牌的英文及法文名 条形码扫描显示 该厂商识别代码未在中国物品编码中心注册 编码信息未按规定通报 能说明该商品是假货吗_百度问一问 厂商识别代码如何分派 如何区分产品条形码与企业代码? 塔罗牌里的节制意思 商品条码和绑定厂商识别码不匹配怎么办? 塔罗牌十二主牌的22张主牌牌面详解和其传说 什么是厂商识别码,如何申请条码 socket( AF_INET, SOCK_STREAM, IPPROTO_TCP )这个返回值表示什么意义 打印机墨盒是不是一定要整套更换 socket(PF_INET,SOCK_STREAM,0);//socket编程,参数置AF_INET;与PF_INET区别是什么 六年级下册数学期中试卷人教版 怎样做蜜汁山药 sock = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);中::是什么意思? socket(AF_INET,SOCK_STREAM,0) 佳能打印机墨盒黑色彩色要一起换吗? socket(PF_INET, SOCK_STREAM, 0);//socket编程,参数置AF_INET;与PF_INET区别是什么 关于JAVA的 socket 和InputStream OutputStream 这个三个关键字很不是理解 求高手给小弟答案啊 好的加分 TS5320彩色打印机墨盒必须更换吗不可以加水吗? SOCKET编程,OutputStream和InputStream的阻塞问题 我考完2019年国考了,该什么时候出成绩啊,在哪里能看到这些信息呢? 梦见一个精美饭盒,而且是有东西在里面,好像是同事给我的,是什么样一个梦 2019年国考成绩什么时候出来 国考笔试几号查成绩? 2019国考成绩大概什么时候能够查询啊?怎样知道自己是否进面试? 请问历年国考考试时间和出成绩的时间 国考什么时候出成绩?? 王者为什么不能用微信二登陆?
  • 焦点

最新推荐

猜你喜欢

热门推荐