Java Socket发送方与接收方得到的数据不一致 5C

[做电子白板时,服务器端收到的消息和客户端发送的消息不同。
Server类为服务器,运行时首先打开Server。Server中有ClientThread线
程组,其中的每个元素用来保存和每个客户通信的线程。LoginFrame为登录界面,点击登录后,选择教师登录,登录成功后,再继续登录学生端。教师和学生均为客户端,教师端上画的点先传给服务器,再由服务器利用线程组ClientThread传给学生。问题是:教师端发送点的消息后,服务器端的教师对应的ClientThread中接收到的消息和发送的不一致。
服务器端:
图片说明
教师端:图片说明
]源代码,下载积分比较少的那一个([图片]https://download.csdn.net/my "")

2个回答

服务器端的教师对应的ClientThread中接收到的消息和发送的不一致。 这个要调试下

帮你调试,总不能我先垫付下载分吧。不然你先采纳了,我得到下载分再帮你调试。

js传文件流,后台获取js传文件流,后台获取js传文件流,后台获取js传文件流,后台获取js传文件流,后台获取js传文件流,后台获取js传文件流,后台获取

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java 网上聊天(发送方发送数据,接收方能够接到,反之亦然)
用java语言实现聊天效果,有文本域,点击发送按钮可以发送数据,之后能在接收方的文本域显示信息,接受方也可以进行相应的操作
命名管道发送方怎么向接收方发送通知呢
命名管道 发送方写入数据后怎么通知接收方接收数据啊 他发完了 我好在合适时接收数据做下一步的操作,不知道怎么发送通知 有知道的 告诉下感激不尽!!
串口通信接收方比发送方多一个字节
串口通信接收方比发送方多一个字节
callLog-day09-15.使用udp协议实现接收方-发送方代码实现
本部分内容全面涵盖了Spark生态系统的概述及其编程模型,深入内核的研究,Spark on Yarn,Spark Streaming流式计算原理与实践,Spark SQL,Spark的多语言编程以及SparkR的原理和运行。rnPython语言的部分大家在学习后可以完全掌握Python的精髓,并通过这部分的学习给大家打好一个基础。
net发送邮件 接收方和发送方域名不一样
是不是发送方和接收方的邮箱都只能是同一家。例如都是163的,或者都是162的。 因为我测试时,发送方是公司的邮箱,接收的是163的邮箱,就接收不到。假如发送方和接收方都为公司的邮箱 就可以接收了。rn公司邮箱是用163企业邮箱。rn这个是怎么回事啊?rnrnrn[code=csharp]rnSystem.Web.Mail.MailMessage msg = new System.Web.Mail.MailMessage(); msg.From = "TAD@cola.com"; msg.To = MessageTo; //抄送人 msg.Cc = MessageCc; msg.Subject = MessageSubject; msg.BodyFormat = MailFormat.Html; msg.Body = MessageBody; SmtpMail.SmtpServer = "smtp.ym.163.com"; msg.Priority = MailPriority.Normal; msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "TAD@cola.com"); msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "123456"); //调用以上方法 : string chaosong = "liumei@163.com"; string body = "请把以下链接复制到浏览器地址栏里面"; fun_Mail("liumei@163.com", chaosong, "test", body); 这样会接收不到邮件。 而把接收邮箱改成 liumei@cola.com则 发送成功。 rnrn[/code]
确保发送方和接收方序列化对象保持一致
确保发送方和接收方序列化方式一致
哈弗曼树(C++语言实现,文件操作发送方和接收方)
实现文件读写操作 typedef struct{ int weight; int s; int parent,lchild,rchild; }HTNode,*HuffmanTree; typedef char * *HuffmanCode; void Select(HuffmanTree &HT,int i,int &s1){ //查找频度最小的两个字符
socket发送信息时 如果数据过大 要发送好几次 接收方如何得到这个完整的消息?
比如将类序列化后发送 缓冲数组只有256长度 要发好几次 接收方怎样得到完整的一次发送呢
非阻塞的socket为什么发送和接收的数据不一致?
基于TCP的远程算术程序,使用非阻塞socket。rn[code=C/C++]rn//服务器发送线程rnDWORD WINAPI CClient::SendThread(void *pParam)rnrn CClient *pClient=(CClient *)pParam;rnrn while(pClient->m_isConnected)rn rn if(WAIT_OBJECT_0==WaitForSingleObject(pClient->m_hSendEvent,INFINITE)) //等待发送事件rn rn if(!pClient->m_isConnected) //如果连接断开rn rn pClient->m_isConnected=false;rn break;rn rnrn int retval=send(pClient->m_socket,pClient->m_sendData.buf,((pHdr)pClient->m_sendData.buf)->len,0);rnrn if(retval==SOCKET_ERROR) //发送失败rn rn int ErrCode=WSAGetLastError();rn if(ErrCode==WSAEWOULDBLOCK)rn continue;rn else if(ErrCode==WSAENETDOWN || ErrCode==WSAECONNRESET || ErrCode==WSAETIMEDOUT)rn rn pClient->m_isConnected=false;rn pClient->m_isExit=true;rn break;rn rn rnrn ResetEvent(pClient->m_hSendEvent); //重置发送事件rn rn rnrn return 0;rnrn[/code]rn[code=C/C++]rn//客户端接收线程rnDWORD WINAPI RecvThread(void *pParam)rnrn char temp[MAX_BUF_SIZE]; //临时接收缓冲区rn memset(temp,0,MAX_BUF_SIZE);rn int ival;rnrn while(g_isConnected)rn rn ival=recv(g_sClient,temp,MAX_BUF_SIZE,0);rn if(ival==SOCKET_ERROR) //接收失败rn rn int ErrCode=WSAGetLastError();rn if(ErrCode==WSAEWOULDBLOCK)rn rn Sleep(500);rn continue;rn rn elsern rn g_isConnected=false;rn SetEvent(g_hShowResultEvent);rn break;rn rn rn else if(ival==0) //连接关闭rn rn g_isConnected=false;rn SetEvent(g_hShowResultEvent);rn break;rn rn else if(ival>HEADERLEN) //接收成功rn rn //将接收到的数据解包并拷贝到全局的接收缓冲区中rn pHdr pHeader=(pHdr)temp;rn memset(g_RecvBuf.buf,0,MAX_BUF_SIZE);rn memcpy(g_RecvBuf.buf,temp+HEADERLEN,pHeader->len-HEADERLEN);rnrn SetEvent(g_hShowResultEvent); //通知显示计算结果rn rnrn memset(temp,0,MAX_BUF_SIZE);rn Sleep(500);rn rnrn SetEvent(g_hSendEvent); //线程退出时设置发送事件为有信号状态,以防发送线程一直等待rnrn return 0;rnrn[/code]rn测试远程计算1+1=?rn问题:经调试发现,服务器发送线程发送的数据包是正确的,其中包头内类型字段值为“E”(算术表达式),长度(包头+数据的总长度)字段为13,包体的数据为“1+1=2”。rn而客户端接收到的数据包却完全不一样,调试得知接收到的数据包包头内类型字段值为“D”(未定义这种类型),长度字段为2734738122,包体的数据为“g◆弨螮”。并且接收到的数据长度为29字节,不是发送的13字节!rn请问这是什么原因?
http中get发送json格式数据以及接收方的处理
http中get发送json格式数据以及接收方的处理
往socket发送大量数据,接收方无法读取到完整数据
大家有没有遇到一种情况,客户端往服务器的socket发送了一个很大的数据(3万+byte),在服务器那边read socket的时候没有读到所有的数据,服务器用while去读但是都无法读到客户端发过来的所有数据,读取socket fd的代码如图n![图片说明](https://img-ask.csdn.net/upload/201504/26/1430034961_507939.png)
传输文件:接收方
本课程通过8天时间从基础开始学习GO语言,精细化讲解GO语言的知识,并使用实例贯通了知识的使用
请问:MFC TCP/IP使用Receive接收数据,网络不好的情况下,发送方和接收方的数据不一致,何故呢?
请问:MFC TCP/IP使用Receive接收数据,网络不好的情况下,发送方和接收方的数据不一致,何故呢?recSo.Receive(buff,6250)rnrn得到的数据,发现,接收方和发送方的数据不一致,我发送的是6250个字节,接收方接收到的长度也是6250,但是,发现有一部分数据是重复的,比如头200个字节实际上跟后200个字节是一样的了,也就是说丢了一部分数据,请问,为什么会出现这种情况呢?是我网络不佳,(wifi的信号很低,局域网内传输)导致TCP IP重发导致的数据重复吗?rnrn还是我一次不应该接收那么大的数据呀,6250好像也不大呀?
发送长短信时,分段发送的编码方式不一致导致接收方出现乱码
vendor/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/transaction/SmsSingleRecipientSender.java --- a/alps/vendor/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/transaction/S...
CS结构接收方
CS机构的套接字编程的接收方和发送发源代码和可执行文件。
串口接收到的数据为什么和模拟器发送的数据不一致呢?
用一个模拟器模拟一串数据作为发送端,另外一端接收,可是出现了奇怪的问题,接收到的和发送的为什么不一样呢?rn发送端:rn44 30 31 0D 41 56 55 0D 20 32 33 33 0D rn接收端:rn44 30 b1 8d 41 56 55 8d a0 b2 33 33 8d rn rn为什么把0D转换为了8d,把20转换为20,32变成了b2?rn串口是用1200,e,7,1rnrn百思不得其解,难道是串口模拟器的问题,还是接收的时候出了问题.rnrn请指教!
一端发送文件,一端接收文件,接收方只能收到发送方的前两个包?
我用WSAAsyncSelect方式,TCP协议,一端发送文件,一端接收文件,都是在循环中,接收方只能收到发送方的前两个包,但在发送的循环中加个Sleep(300),就正常了,我应该如何控制这样的文件传送呢?rn这是发送:rn[code=C]rnwhile(1)rnrn int readbyte = 0;rn readbyte = filesend.Read(szBuff,DEFAULT_BUFFER);rn send(sockFile, szBuff, readbyte, 0);rn //Sleep(300);rn lFileLength -= readbyte;rn if(lFileLength <= 0)rn rn filesend.Close();rn lFileLength = 0;rn break;rn rn[/code]rnrnrn这是接收(在WSAAsyncSelect的FD_READ事件中):rn[code=C]rn char szBuff[DEFAULT_BUFFER];rn int ret = 0;rn ret = recv(sockFile, szBuff, DEFAULT_BUFFER, 0);rn rn fileget.Write(szBuff,ret);rn rn lCurrentFileSize -= ret;rn lReceivedLength += ret;rn rn if(lCurrentFileSize <= 0)rn rn fileget.Close();rn [/code]
关于串口通信时,接收方要0xAABB,发送方应该怎么发送
这是在指静脉项目遇到的问题: 通信协议如下 1、这其实是接收方要的数据!! 2、发送方应该发的数据为:  BB AA 00 01 00 08 30 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 EE 02 3、这里应该注意 BB AA 和 EE 02
用ajax控件 编写的聊天室中,接收方是怎么收到发送方发送的消息的啊?
哪位大侠指点一下。rn就是一个人说话了,另一个人的页面是怎么刷新的?
请问一下,c++ socket接收到数据长度和实际不一致
![图片说明](https://img-ask.csdn.net/upload/201902/24/1550993325_415320.png)rnrn![图片说明](https://img-ask.csdn.net/upload/201902/24/1550993333_995105.png)rnrn如图所示,图一未返回的接收到的字节长度20,但是实际上revData里面的数据为"1234",请问这是什么原因?
jms不是有点对点.的发送和订阅发送么?也就是说有一个发送方,一个接收方,能否实现,发送方同时能发送也能接收,接收方,同时能接收也能发送
jms不是有点对点.的发送和订阅发送么?也就是说有一个发送方,一个接收方,能否实现,发送方同时能发送也能接收,接收方,同时能接收也能发送
winpcap发包不能到达接收方
我试用了Raw Socket 和Winpcap 两种方法发完全相同的自已构成的原始UPD包,Raw Socket对方能成功接受而Winpcap却收不到.用抓包工具看,两种方法在发出端能抓到完全相同的原始包数据(ether header+ip header+udp header+udp data),说明已经在发出端发出.Winpcap提供的两种方法pcap_sendpacket和PacketSendPacket都试了,结果一样.发包的平台是XP SP2 + winpcap 4.0.2.请问Winpcap发包除了要使用pcap_sendpacket和PacketSendPacket相应的函数发送数据外,是不是还要发一些控制包?谢谢!
CWnd::SendMessage接收方的问题?
[code=C/C++]SendMessage(WM_USERMSG, wParam, lParam)[/code]rnrn[color=#FF9900]接收方是this代表的窗口,或是其子窗口.rn其它的窗口是无法收到这个消息的.rn这样理解对吗?[/color]rnrn[color=#FF00FF]另外,如果这个WM_USERMSG,没有对应的执行体,rn又会怎么样呢?[/color]
udp传输文件的问题,发送方发送很快,但接收方接收缓慢,尤其接收方通过拨号上网的时候更慢,甚至接收不完
如题,各位有没有办法啊
Socket 返回值与缓冲区数据不一致
[img=https://img-bbs.csdn.net/upload/201906/27/1561612936_846871.png][/img]rnrn返回长度69,但是缓冲是空的,求解
Windows Mobile 与 PC 在Socket接收方面有不同吗?
我用同一个Socket接收类. Windows Mobile中不能得到发送方IP和端口. PC中能得到.
能不能通过Socket直接发送邮件到接收方的邮件服务器?
要写一个通过Socket发送邮件的程序。rn可是所有的例子里都需要有一个SMTP服务器,rn通过把邮件发送到这台SMTP服务器上,rn然后这台服务器再转发到目标地址的SMTP服务器。rnrn不通过发送方的邮件服务器。rn能不能通过Socket,按照SMTP协议直接发送邮件到接收方的SMTP服务器?rnrn为什么一定要一个SMTP服务器转发?rnrn不太熟悉这块,希望不吝指教。
43.python中Socket UDP协议接收方编程
通过《2017年Python从入门到实战教程》这系列课程,大家可以掌握python开发。适合任何初级或者转行的人学习。
[求助]完成端口,10053错误。 如果发送方速度大于接收方就会有这个错误
太奇怪了??如果把速度调反(接收大于发送),就没这个错误了
发送方基于身份,接收方基于无证书的异构签密体制的设计框架
发送方基于身份,接收方基于无证书的异构签密体制的设计框架
文件正在传输中,如果发送方断开,那么接收方如何处理?
文件正在传输中,如果发送方断开,那么接收方如何处理?rnrn公说公有理,婆说婆有理rnrn有人说通过检查返回0字节来判断是否短开。rn有人说系统会自动发出异常,只要捕捉即可。rn有人说需要设置超时就可以解决问题。rn有人说需要发送心跳包才能解决。rnrn本来还懂点,现在反到被搞糊涂,希望有经验的人谈谈,给个权威的答复。
udp通信方式下,为什么接收方报文和发送方报文顺序偶尔不一样?
udp通信方式下,为什么接收方报文和发送方报文顺序偶尔不一样!rnrn程序采用socket的UDP通信方式,发送方每100ms发送一帧,每帧固定900个字节,其中前两个字节为帧序号,帧序号递rnrn增。接收端将帧序号打印出来,发现偶尔会出现帧错乱的情况,比如:rnrn发送端的帧序号:1 2 3 4 5 6 7 8 9 10rn接收端的帧序号:1 2 3 4 9 10 5 6 7 8 rnrn请问这是什么原因造成的?谢谢高手们得指点!
请问UDP传输时,接收方有没有什么方法获得发送方的IP和端口?
MSDN上说getpeername是不适用于UDP下的。rn先谢谢了!
socket数据发送
使用RAW Socket 发送数据,可以包含IP头。
socket数据的接收和发送
Linux下数据的接收和发送 Linux 不区分套接字文件和普通文件,使用 write() 可以向套接字中写入数据,使用 read() 可以从套接字中读取数据。 前面我们说过,两台计算机之间的通信相当于两个套接字之间的通信,在服务器端用 write() 向套接字写入数据,客户端就能收到,然后再使用 read() 从套接字中读取出来,就完成了一次通信。 write() 的原型为: s
发送方可否将 视频和声音放入同一GraphBuilder?接收方要怎么分离呢?
如题
【问】如何用程序来收发传真?(接收方:宽带ADSL 发送方:传真机)
rn
callLog-day09-16.使用udp协议实现接收方-发送方代码实现2
本部分内容全面涵盖了Spark生态系统的概述及其编程模型,深入内核的研究,Spark on Yarn,Spark Streaming流式计算原理与实践,Spark SQL,Spark的多语言编程以及SparkR的原理和运行。rnPython语言的部分大家在学习后可以完全掌握Python的精髓,并通过这部分的学习给大家打好一个基础。
socket发送和接受数据
[code=&quot;java&quot;] import java.net.*; import java.io.*; public class MyConnection2 { public static void main(String[] args) throws Exception { Socket socket = new Socket(&quot;www.ptpre...
串口数据发送Socket
从串口接受到的字符串,并将接受到的数据通过socket端口发出 VC++完整代码
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数