社区
通信技术
帖子详情
关于socket消息读取的问题
chain78
2016-12-06 03:04:23
在做一个客户端用于处理服务器发来的消息,看UNIX网络编程上的示例都是搞一个缓存区,while循环读取sockfd内容,
每条消息包含消息头和消息尾,想请问下每次读取消息时,会正好只读一条消息吗?
如果服务器连续发来多条消息,是一起读上来的,还是一条一条读呢?
因为在接收消息的同时还要处理消息,在处理的消息的过程时,服务器发来了多条,这又是什么样的情况呢?
...全文
399
2
打赏
收藏
关于socket消息读取的问题
在做一个客户端用于处理服务器发来的消息,看UNIX网络编程上的示例都是搞一个缓存区,while循环读取sockfd内容, 每条消息包含消息头和消息尾,想请问下每次读取消息时,会正好只读一条消息吗? 如果服务器连续发来多条消息,是一起读上来的,还是一条一条读呢? 因为在接收消息的同时还要处理消息,在处理的消息的过程时,服务器发来了多条,这又是什么样的情况呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
自信男孩
2016-12-13
打赏
举报
回复
由于网络会有动荡,所以不能保证一次都接收,也可能一条一条或者一条,间隔多条接收.所以,对于网络动荡的解决方式是建立环形缓冲,然后根据消息结构逐一解析.
X-i-n
2016-12-06
打赏
举报
回复
不会正好,有可能会出现粘包的情况,需要自己定义数据结构,比如约定一条完整的消息用"<BEGIN>"起始,"<END>"结尾,并且数据体也需要预先约定好结构,这样的话,数据连起来就是<BEGIN>11#aa#532342<END><BEGIN>12#ab#52324123<END>……,逢<END>进行处理
Java
Socket
正确
读取
数据姿势
前言 ... 个人平时用到
socket
通讯的地方是Android与外设通讯,Android与ssl服务通讯,这种都是基于TCP/IP通讯,而且...但使用
socket
通讯
问题
不少,一般有两个难点:
socket
通讯层要自己写及IO流不正确使用,遇......
Python
socket
读取
消息
问题
今天遇到python
socket
读取
消息
不能
读取
完全的
问题
size = struct.unpack("!I",
socket
_obj.recv(4)) data_size = int(size[0]) data =
socket
_obj.recv(data_size) 如此写法并不能完全
读取
消息
内容。...
Socket
方式
读取
OPC实时数据
利用
Socket
方式
读取
OPC实时数据是当前跨平台实时数据交换的一种常用手段,它要求数据采集和传输的实时性及完整性,并能够解决操作系统、防火墙、DCOM给OPC用户带来的困扰。目前,几乎所有操作系统及开发环境均支持...
Socket
读取
固定长度的报文
Socket
读取
固定长度报文
Java
Socket
定长通讯
读取
消息
长度头
那么
问题
就在于
socket
通讯时,接收方并不知道此次数据有多长,因此无法精确地创建一个缓冲区(字节数组)用来接收,在不定长通讯中,通常使用的方式时每次默认
读取
8*1024长度的字节,若输入流中仍有数据,则再次
读取
...
通信技术
4,356
社区成员
28,926
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章