Python3: 可以将UDP socket作为文件对象写入吗?

问题描述 投票:1回答:1

在Python3中,我创建了一个带有 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 以便向网络中的某个目标发送UDP。现在经典的方法是 s.sendto(my_data, (ip, port)). 但我想把socket处理成一个io文件对象。因此,我通过以下方法创建了一个对象 f = s.makefile(mode='wb'). 现在我可以用 f.write(my_data) 来发送数据。但是等一下 ... 我从来不需要指定IP和端口。不用说,数据没有到达目的地。用TCP没有问题,因为用 s.connect((ip, port)) 我可以在创建文件对象之前指定ip和端口。

是否可以,如果可以,如何用套接字作为文件对象发送UDP?

python-3.x sockets makefile udp
1个回答
0
投票

好吧......当我在写这个问题的时候,我突然想到我可以尝试调用 s.connect((ip, port)) 在UDP套接字上,虽然没有建立连接。Voilà它工作了。也许这能帮助某人。

© www.soinside.com 2019 - 2024. All rights reserved.