社区
通信技术
帖子详情
使用socket的tcp方式通信接收数据的问题
sdwalnut1
2007-04-27 05:17:16
在使用socket的tcp方式接收数据时,发现有些接收到的数据是发送端两次消息内容合并后的结果。哪位知道产生这种情况的原因是什么?tcp方式是否会经常导致该问题?
...全文
298
7
打赏
收藏
使用socket的tcp方式通信接收数据的问题
在使用socket的tcp方式接收数据时,发现有些接收到的数据是发送端两次消息内容合并后的结果。哪位知道产生这种情况的原因是什么?tcp方式是否会经常导致该问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vince_cici
2007-05-05
打赏
举报
回复
感觉都说的对
我认为也可以
自定义一个 语句终止符!~代表一块信息的结束
wmhnq
2007-05-02
打赏
举报
回复
包头(4byte)+包长度+保留位(4)+数据(不定)
////按照这个办法到是不错,不过传输的性能要下降很多倍。
dreamskyashion
2007-04-30
打赏
举报
回复
TCP是流式传输,接收的时候当然不知道要可能会接收到多少数据,再说包头和数据是同时发送的又不是分开发送
redex
2007-04-30
打赏
举报
回复
to 楼上:
"在接收数据的时候首先判断是否接收到了 大于 包头的数据", 你接收的时候不是先接收包头长的数据, 再接收包体?? 那么如何会"收到了大于包头的数据"???
dreamskyashion
2007-04-28
打赏
举报
回复
同意楼上的观点。 在接收数据的时候首先判断是否接收到了 大于 包头的数据,如果是则将该数据转换为包头,分析包头中数据长度字段,然后判断是否该包已经完全到达如果没有则继续接收直到收齐为之
另外请用 setsockopt 将 socket的TCP_NODELAY 设为TRUE
netsys2
2007-04-28
打赏
举报
回复
这是很正常的,TCP是个流协议,中间的分割你必须自己做!
你在设计协议时,应该确定帧格式,下面是常用的:
包头(4byte)+包长度+保留位(4)+数据(不定)
接收数据先看包头,然后根据包长度读数据,这样不管几个包发过来,你都能正确解开!
xiaozhumaomao
2007-04-27
打赏
举报
回复
你每次发送的时候
用一次 flush() 方法将缓冲区清空
TCP
/UDP
socket
调试工具
TCP
/UDP
socket
调试工具
TCP
/UDP
socket
调试工具
Socket
Tool调试软件是一款网络
TCP
/UDP
通信
调试工具,本工具集功能强大与简单易用为一体,是无需安装的免费绿色软件。她可以帮助网络编程人员、网络维护人员检查所开发的网络应用软硬件的
通信
状况。 ★ 全面集成
TCP
服务器/客户端; UDP服务器/客户端; UDP广播/组播 功能 ★ 支持多
Socket
并行测试, 采用树状
Socket
可视化界面,所有
Socket
句柄一目了然 ★ 在一个程序内可进行多句柄/多类型的
Socket
的创建/删除/以及
数据
收发等操作 ★ 支持16进制的发送和16进制
接收
显示,支持汉字以及文本发送 ★ 用户可以方便的把
接收
到的
数据
保存下来 ★ 支持发送、
接收
字节数统计 ★ 支持
数据
循环发送,同一内容可自动发送1次至10000次 本软件可广泛用于GPRS/CDMA/局域网/广域网等基于
Socket
方式
的
数据
采集平台的
通信
调试,让
Socket
Tool真正成为您的
TCP
/UDP
Socket
应用开发助手!
C#的
Socket
实现UDP协议
通信
C#的
Socket
实现UDP协议
通信
CSharp
使用
WebRTC实现实时
通信
本教程主要以WebRTC JavaScript API为例,
使用
WebRTC实现实时
通信
1. 介绍WebRTC整体架构,WebRTC JavaScript API2. 如何获取webcam摄像头音视频
数据
3. WebRTC peer之间建联流程4. 介绍WebRTC信令,
使用
socket
.IO实现信令服务5.
使用
R
TCP
eerConnection传输音视频流,实现音视频流传输6. WebRTC Data Channel实现
数据
的分享本教程由浅入深的讲解WebRTC,结合实际代码,最终在2台浏览器上实现实时
通信
,本教程可作为WebRTC很好的入门及实战教程
基于
TCP
/IP~Android客户端与PC
通信
源码
基于
TCP
~
socket
,Android客户端与PC
通信
,客户端源码。已经测试,可用。附带apk,和网络调试助手,方便测试。只需提供服务器的IP和端口号,即可
通信
。 客户端:一次连接,可发送多次
数据
。 重点是客户端时时
接收
服务器端发送来的
数据
。采用 Handler和Thead结合。
TCP
通信
发送和
接收
数据
(
Socket
、Server
Socket
)、
TCP
通信
案例
目录
TCP
TCP
发送
接收
数据
发送
数据
Socket
接收
数据
Server
Socket
TCP
通信
案例1
TCP
接收
数据
后给出反馈案例2
TCP
接收
数据
后给出反馈案例3
TCP
接收
数据
后给出反馈案例4
TCP
概述:
TCP
通信
协议是一种可靠的网络协议,它在
通信
的两端各建立一个
Socket
对象,从而在
通信
的两端形成网络虚拟链路,一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行
通信
Java对基于
TCP
协议的网络提供了良好的封装,
使用
Socket
对象来代表两端的
通信
端口,并通过
Socket
产生IO流来进行网络通
通信技术
4,358
社区成员
28,927
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章