Python 3.3将标题添加到ascii字符串

时间:2013-06-12 02:30:03

标签: python tcp ascii python-3.3

我正在尝试通过tcp / ip发送ascii命令,但python(我认为)在他的字符串中添加一个标题。

如果我做了s.send(bytes('RV\n ', 'ascii'))当我检查命令时,我得到一个eRV而不是RV。有什么想法吗?

Previous post

2 个答案:

答案 0 :(得分:0)

<强>接收器

>>> import socket
>>> s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
>>> s.bind(('', 7775))
>>> print(s.recvfrom(1024))
(b'RV\n', ('127.0.0.1', 39860))

<强>发送方

>>> import socket
>>> s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
>>> s.connect(('localhost', 7775))
>>> s.send(bytes('RV\n', 'ascii'))
3

检查send()的返回值。它应该是3。

答案 1 :(得分:0)

您可以再次提供wireshark详细信息吗?上一篇文章中的数据包与您的代码不匹配...例如,字节转储中的IP地址为192.168.75.98和192.168.75.150。问题是字节偏移与现实不匹配。我认为e是TCP标题的结尾。