繁体   English   中英

python 中的套接字和 socket.recv()

[英]Socket in python and socket.recv()

我正在从服务器向我的客户端发送一些请求,但我遇到了一些问题。

当我向客户端发送消息时,如果我发送了很多消息,我将使用socket.recv()接收所有消息

没有办法一一获取消息?

谢谢

您需要在其他裸套接字上使用某种协议。

如果你想要一个简单的面向消息的插入式替换,请参阅 python twisted或使用类似nanomsgZeroMQ东西。

不是传输不定,虽然,这意味着如果他们在攻防两端用他们才会工作。

不。TCP 是字节流。 没有大于 1 个字节的消息。

我假设您正在使用 TCP。 TCP 是流协议,而不是数据报协议。 这意味着数据不是一系列消息,而是没有任何消息边界的单个数据流。 如果您需要这样的东西,要么切换协议(UDP 是数据报,但有其他问题),要么在知道消息的 TCP 之上创建自己的协议。 基于 TCP 的典型的基于消息的协议要么使用一些消息定界符(通常是换行符),要么使用每个消息的大小作为前缀。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM