【发布时间】:2014-08-27 10:12:54
【问题描述】:
总结
我正在向 python udp 侦听器添加一个功能,该侦听器将确认发送回它正在接收的设备。就我而言,目前该设备是 localhost,但将来将是 MT4000 遥测设备。
问题
我正在使用 recvfrom() 函数从发送数据的设备接收数据和源地址。返回值是一对(字符串,地址),其中字符串是表示接收到的数据的字符串,地址是发送数据的套接字的地址。这个问题我们关注地址。地址正在返回
('127.0.0.1', 57121)
我理解这意味着源IP是127.0.0.1,即本地主机,57121代表数据发送的端口。我的目标是拆分这些数据以便发回确认。
我的解决方案
我收到数据的代码是这样的:
(s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM))
data, addr = s.recvfrom(1024)
到目前为止,我已经尝试过这种拆分数据的方法:
sourceIp = addr[3:-9]
我的印象是应该这样拆分字符串:
sourceIp = 127.0.0.1
但它只输出这个:()
我现在的想法是,这实际上不是一个字符串,因此这种拆分方法不起作用。是否有另一种拆分方式或转换方法?谢谢。
【问题讨论】: