首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要帮助才能通过udp协议从仪器发送数据

我需要帮助才能通过udp协议从仪器发送数据
EN

Stack Overflow用户
提问于 2021-02-22 22:36:31
回答 1查看 44关注 0票数 0

我有一个测量so2的仪器,我有一个让我看到数据的标准程序,但我需要将仪器连接到服务器,并将所有数据发送到数据库。我使用wireshark来查看它如何与软件通信,但我不知道该使用什么方法来编写我的程序。下面是wireshark转储:

红色圆圈表示仪器所做的测量。另外,很抱歉我的英文不好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-23 00:54:55

所以我解决了我的问题,正如我将要展示的:我做了一个听众和一个呼叫者;

呼叫者:

代码语言:javascript
复制
`from socket import socket, AF_INET, SOCK_DGRAM

SERVER_IP   = '192.168.1.99'
PORT_NUMBER = 53700
SIZE = 1024
print ("Test client sending packets to IP {0}, via port {1}\n".format(SERVER_IP, PORT_NUMBER))

mySocket = socket( AF_INET, SOCK_DGRAM )
mySocket.bind(('192.168.1.100', 57806))

while True:
    data = bytes.fromhex('014630303430335230303102313103')
    mySocket.sendto(data,(SERVER_IP,PORT_NUMBER))
    exit()`

监听程序:

代码语言:javascript
复制
`from socket import socket, gethostbyname, AF_INET, SOCK_DGRAM
import sys
PORT_NUMBER = 57806
SIZE = 1024

hostName = gethostbyname( '' )

mySocket = socket( AF_INET, SOCK_DGRAM )
mySocket.bind( (hostName, PORT_NUMBER) )

print ("Test server listening on port {0}\n".format(PORT_NUMBER))

while True:
        (data,addr) = mySocket.recvfrom(SIZE)
        print (data)
sys.ext()`

我在wireshark上看到,如果我发送一个从已有的请求数据包复制过来的请求数据包,仪器会给我返回响应;所以我在选定的端口上设置了一个侦听器,现在我得到了所有的数据!

突出显示的数据包是我从调用者脚本发送的数据包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66317729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档