急求教!关于如何接收socket数据

问题描述

为什么do下面第一次执行的时候,availCount都是0,sleep一次之后就不会为0了。。do{availCount=client.Available;num=client.Receive(data,availCount<ResponseByteLength?availCount:ResponseByteLength,SocketFlags.None);responseData+=loacalEncoding.GetString(data,0,num);SiteLog.WriteLog(LogType.FactLog,"data:"+responseData);SiteLog.WriteLog(LogType.FactLog,num.ToString());if(num<=0){SiteLog.WriteLog(LogType.FactLog,"sleep");System.Threading.Thread.Sleep(10);timer++;}if(timer>=DapTime*100)//30秒钟没有应答则自动退出!{SiteLog.WriteLog(LogType.FactLog,"30s内无应答,超时退出!");SiteLog.WriteLog(LogType.ErrorLog,"30s内无应答,超时退出!");break;}}while(client.Available>0);

解决方案

解决方案二:
数据少的时候还能接收完整。如果数据多了,就接收不完了。。但能接收到正确的结束标识。。好怪

时间: 2024-10-14 18:40:58

急求教!关于如何接收socket数据的相关文章

c++ socket-C++socket数据接收处理问题

问题描述 C++socket数据接收处理问题 1.能够点了按钮之后能够一直接收发送过来的单行数据 2.能把接收的数据处理好了之后存到另外定义的数组或list中去 3.那个线程应该如何定义程序才能执行 SOCKET sHost; WSADATA wsd; SOCKET sServer; SOCKET sClient; SOCKADDR_IN addrServ; void CMyDlg::OnRev() { #define BUF_SZIE 64 #pragma comment(lib, "ws2_

数据接收-C# socket接收单片机数据问题

问题描述 C# socket接收单片机数据问题 单片机通过wifi将采集到传感器的数据传至上位机,单片机是每一秒发送一组数据,如"0xaa,0x55,'采集到的数据1','采集到的数据2'"问:怎样才能接收数据并判断第一个是"0xaa"并且第二位是"0x55"时候将"采集到的数据1"和"采集到的数据2"拿出来并整合合,下一秒也是这样循环下去,我现在只能做到接收数据.private byte[] m_rece

C# Socket 异步如何接收网页数据?

问题描述 publicstaticbyte[]ReceiveBodyData(Socketsocket){List<byte>list=newList<byte>();intnowContentLength=0;while(true){byte[]buffer=newbyte[BUFFER_SIZE];intreceiveCount=socket.Receive(buffer,BUFFER_SIZE,SocketFlags.None);if(receiveCount>0){f

Asp.net中C#使用Socket发送和接收TCP数据示例

程序代码  代码如下 复制代码 using System; using System.Collections.Generic; using System.Net; using System.Net.Sockets; using System.Text; namespace ConsoleApplication1 {     public static class SocketTest     {         private static Encoding encode = Encoding.

Socket 通信 接收的数据包被分为多个

问题描述 客户端向服务端通过GPRS发送数据的时候,客户端发送的是一个数据包,但是服务端接受的时候发现那个数据包被分成两个子数据包.但是相同的数据包客户端通过其他方式发给服务端时,服务端能够接受一个完整的数据包.请问一下这个是什么原因.谢谢! 解决方案 解决方案二:面向连接的tcp,本来就是如此的.如果你不理解为什么会分包.粘包,那你就使用更为简单的可靠的http(它是tcp上更为可靠的实现).解决方案三:你所谓的数据包,是应用程序的数据包,跟底层的数据包是两回事(有些人总把tcp底层协议的数据

求教一下mfc异步socket的问题

问题描述 求教一下mfc异步socket的问题 目前我要设计一个多线程程序,UDP点对点接收数据,然后将接受到的数据进行一些内部的自动编辑然后再用组播的方式将数据发送出去,本身我是打算开个线程接收数据的,但是效率不高,然后听说有个异步socket可以实现识别消息进行数据接收的,求教该怎么弄 解决方案 求教MFC问题socket异步处理问题 解决方案二: 1."本身我是打算开个线程接收数据的,但是效率不高"这个说法不成立,效率不高应该是设计或实现的问题: 2.异步socket的介绍,可以

dtu-通过端口接收DTU数据问题

问题描述 通过端口接收DTU数据问题 我现在在做一个用Socket通过TCP/IP或者UDP采集DTU数据的程序,DTU相当于客户端,每个DTU每秒钟都会向服务器发送一次数据,我要采集这些数据.使用Java开发,求大神指导,最好贴上完整代码,本人小白

java-新手求教,freesql能够更新数据吗?

问题描述 新手求教,freesql能够更新数据吗? 初学Java ssh,只做过用freesql进行查询的,现在要实现更新数据的功能,请教大神用freesql可以做吗?求具体方法和代码,感激不尽,在线急等 解决方案 可以的,不但可以查询,也可以修改的.

values-android问题求教,,急求教

问题描述 android问题求教,,急求教 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mymail/com.example.mymail.AddcontantsActivity}: java.lang.IllegalArgumentException: the bind value at index 1 is null 在点击按钮用对话框添加邮件联系人时候报错,第二次点击后就连界面