已有259人关注
Socket接收消息不完整而且还变成两半了
发表在Java答疑区 2019-08-15 悬赏:10 学分
是否精华
版块置顶:

申老师,我想问问,我用ServerSocket 和 Socket 进行发信息,但是当我用ServerSocket对Socket发有点长信息的时候,Socket接收到的信息并不完整,比如说ServerSocket发送123456,Socket就会接收到两条信息,一条是12,另一条是3456。当时我发型这个问题的时候以为socket接收信息不完整后来才知道变成两条信息了,这个问题就是如果你发短信息他不会变成两条,可是如果你发五百多字以上的信息的时候他就会变成两段了,我发现这个问题的时候,发的那条消息长度是687,申老师,请问这个问题如何解决

分享到:
精彩评论 2
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2019-08-16
沙发

可能是你读取流数据时使用的缓存太小了,你可以参考IO流章节中从文件中读取示例,设置一个1KB的缓冲区,然后使用while循环不断的读取流中数据。

另外一种可能就是你发送的数据就是断开的。

2165198511
学分:575 LV6
2019-08-18
板凳

根号申 发表于2019-08-16 10:08

可能是你读取流数据时使用的缓存太小了,你可以参考IO流章节中从文件中读取示例,设置一个1KB的缓冲区,然后使用while循环不断的读取流中数据。

另外一种可能就是你发送的数据就是断开的。

谢谢老师。

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照