gpt4 book ai didi

sockets - 编写在 TCP 上运行的协议(protocol)

转载 作者:可可西里 更新时间:2023-11-01 02:49:10 25 4
gpt4 key购买 nike

我正在编写一个通过 TCP 层发送文件的协议(protocol)。命令通常如何与有效载荷分开?我事先知道有效载荷有多大,我应该事先发送长度吗?

我也在考虑只使用 HTTP 传输文件,请问这样是否会更省时?我正在使用 .NET,因此底层协议(protocol)已经运行良好。

最佳答案

How are commands usually separated from payloads? I know in advance how big the payload will be, should I send the length beforehand?

是的。一个典型的模式是发送一个固定长度的 header (例如,字节数,大端整数格式),然后是实际的数据字节(并且可以根据需要重复)。请务必为您的 header 使用固定宽度的类型(例如 uint64_t 而不是 unsigned long),因为您(大概)希望您的协议(protocol)无论在哪台机器上编译都能够正常工作。

I am also thinking about just using HTTP to transfer the files, any opinions on whether this will be less time consuming? I am using .NET so the underlying protocols are working well already.

任何一种方法都可以正常工作。使用您觉得最舒服的任何东西。

关于sockets - 编写在 TCP 上运行的协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22181387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com