Python中文
首页
教程
问答
标签
搜索
登录
注册
在Python中,如何通过TCP以这种通信协议格式发送无符号字符?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>所以,我在做一个有专有通讯协议的项目。我需要发送数据在给定的格式和上,下,左和右坐标到特定的IP地址。通信是通过TCP进行的,我需要用python编写TCP客户端程序,以以下格式发送数据:</p> <p>IP地址/握手地址:192.166.166.166</p> <p>这是<a href="https://i.stack.imgur.com/TYNVq.png" rel="nofollow noreferrer">Data format</a>。你知道吗</p> <p>数据类型为无符号字符0-255(8位二进制),数据长度为6-64位。你知道吗</p> <p>每帧的数据长度为10-64位。你知道吗</p> <p>因此,如果我想将对象从1.0.0.1移动到(23,45,67,89),这是给定的指令:</p> <p>将255 255 10 3 1 0 0 1 23 45 67 89发送到指定的IP地址。我想指定的IP地址是192.166.166.166。你可以参考数据格式来理解我要发送的数据。很简单。你知道吗</p> <p>问题是,我应该如何在python中通过TCP发送这一系列无符号字符?你知道吗</p> <p>我试过以下方法:</p> <pre><code>import socket host = '192.166.166.166' port = 80 # 80 Because TCP s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host, port)) data = '255 255 10 3 1 0 0 1 23 45 67 89' s.sendall(data) result = s.recv(1024) s.close() print('Received', repr(result)) </code></pre> <p>显然这不管用。我没有指定无符号字符,我只是发送原始数据和空格。你知道吗</p> <p>这是我从服务器得到的回报:</p> <pre><code>('Received', '\'HTTP/1.0 400 Bad Request\\r\\nServer: Mini-IoT-314\\r\\nDate: , 31 1969 23:59:59 GMT\\r\\nPragma: no- cache\\r\\nCache-Control: no-cache\\r\\nContent-Type: text/html\\r\\nConnection: close\\r\\n\\r\\n<HTML><HEAD><TITLE>400 Bad Request</TITLE></HEAD>\\n<BODY BGCOLOR="#cc9999"><H4>400 Bad Request</H4>\\nCan\\\'t parse request.\\n</BODY></HTML>\\n\'') </code></pre> <p>现在,我不知道该做什么以及如何发送这些数据,以便服务器可以适当地处理这些数据。我真的很感谢你的帮助。你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>1)我在Python3.5中测试了您的代码,只是做了一些细微的修改,而不是发送字符串,而是通过将字符串转换成字节来发送字节</p> <pre><code>bytes(data,'utf-8') </code></pre> <p>2)不要使用端口80,可能是您的http服务器正在该端口上运行, 尝试使用其他端口。会有用的</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
plt.savefig不会覆盖现有文件
5 回答
plt.savefig不保存图像
9 回答
plt.savefig在jupyter笔记本中不起作用
4 回答
plt.savefig在从另一个fi调用时停止工作
8 回答
plt.savefig在调用plt.show之前保存空数字
6 回答
plt.save不创建png文件
7 回答
plt.scatter overlay分类数据帧列
1 回答
Plt.Scatter:如何添加title、xlabel和ylab
4 回答
plt.scatter()绘图与Matplotlib中的plt.plot()绘图类似
3 回答
plt.scatter错误'NoneType'对象在成功运行后没有属性'sqrt'
10 回答
plt.set_title()中的标题字符串有误
4 回答
plt.show()
5 回答
plt.show()不在Jupyter笔记本上渲染任何内容
5 回答
plt.show()不打印plt.plot only plt.scatter
8 回答
plt.show()不显示三维散射图像
10 回答
plt.show()不显示任何内容
8 回答
plt.show()不显示数据,而是保留它供下一个图表使用(spyder)
2 回答
plt.show()使终端挂起
4 回答
plt.show()无法使用此代码
7 回答
plt.show()没有打开新的图形风
8 回答