【发布时间】:2015-05-15 12:59:15
【问题描述】:
我想知道 TCP 套接字发送和接收字节的顺序。
我已经实现了套接字,它已经启动并且可以工作了,这很好。 我还有一个叫做“消息”的东西——它是一个字节数组,包含字符串(序列化为字节)和两个整数(转换为字节)。它必须是这样的 - 项目规范:/
无论如何,我想知道它是如何处理字节的: 在字节数组中,我们有字节顺序 - 0,1,2,... Length-1。他们坐在记忆中。
它们是如何发送的?最后一个是第一个发送的吗?还是第一个?我认为接收非常容易——出现的第一个字节位于缓冲区中的第一个空闲位置。
我认为我制作的一张小图很好地说明了我的意思。
【问题讨论】:
-
为什么您认为顺序可能会颠倒?你一定有什么想法。
-
请记住,如果您想处理“消息”,则取决于您在 TCP 之上进行框架 - TCP 中的模型只是两个字节流(一个您正在发送和一个你收到的)。一端对
Send的调用与另一端对Receive的调用不匹配。
标签: c# sockets tcp byte bytearray