2 sockets
我对套接字编程很感兴趣,我看到有几个源在最后通过网络发送数据之前将数据转换为字节,当它接收到它时,它会转换回它的第一个形状!为什么这样?发送字节而不是字符串或数据本身是更好还是更快?我真的对此感到困惑,因为在网上找不到足够的信息,或者这是网络问题,如果是这样,如果您将我链接到详细解释的主题,我将不胜感激,抱歉我的语言有限因为我不是本地人,在此先感谢
套接字传输原始字节序列。他们不处理任何事情,除此之外。
因此,如果您有更高级别的构造(int、struct、string 等),您必须将它们“编码”为一系列可以传输的字节,然后在另一端“解码”它们。
数据必须序列化为单独的字节,因为套接字(如文件句柄)是字节流,而字符串是对象。您不能将圆钉插入方孔中。您可以将字符串序列化为看起来像字符串文字的内容,但实际上所有字符串在内存中或通过网络或文件流式传输时都有编码。通常通过网络发送的字符串以 UTF-8 编码,对于 ASCII 字符,它看起来只是代表每个字符的字节序列。但是任何字节值大于 127 的字符实际上将使用 1 个以上的字节来表示该字符。所以一切都必须序列化。即使是整数也有编码。一个 4 个字节的整数可以序列化为 4 个字节的流,顺序是从最低有效字节到最高有效字节(这称为“
| 归档时间: |
|
| 查看次数: |
2018 次 |
| 最近记录: |