Python套接字-创建消息格式
作者:互联网
我已经构建了一个Python服务器,可以将各种客户端连接到该服务器,并且需要设置一系列从客户端到服务器的预定义消息-例如,客户端在首次连接时将名称传递给服务器.
我想知道解决这个问题的最佳方法是什么?我应该如何为他们的沟通建立一个简单的协议?
消息是否应该以一组特定的字节开头以将其标记为该协议的一部分,然后包含某种消息ID?任何建议或进一步的阅读表示赞赏.
解决方法:
首先,您需要确定您的协议是人类可读的(更多的开销)还是二进制的.如果是第一个,则可能要使用正则表达式对消息进行解码.为此,请使用python模块re.如果是后者,则模块struct是您的朋友.
其次,如果您正在建立一个有状态的协议(例如,首先我们进行一次握手,然后我们传输数据,然后我们检查校验和并说再见),那么您可能想要创建某种FSM来跟踪状态.
第三,如果协议设计不是您熟悉的主题,请阅读一些简单的协议规范,例如IETF
如果这不是学习活动,则您可能希望从其他内容中构建,例如Python Twisted
标签:sockets,protocols,python 来源: https://codeday.me/bug/20191024/1919282.html