Dav*_*nan 5 python sockets udp
如果我有一个像这样的 UDP 套接字:
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
Run Code Online (Sandbox Code Playgroud)
并且套接字可以发送数据:
sock.sendto("message", address)
Run Code Online (Sandbox Code Playgroud)
如何找到套接字的端口 - 发送数据时使用的端口address?
编辑:我尝试过sock.getsockname(),但这会引发错误:[Errno 10022] An invalid argument was supplied
我对 python 套接字类不太熟悉,但根据我在这里读到的内容https://docs.python.org/2/library/socket.html#socket.getnameinfo
也许
socket.getnameinfo()[1]可行
因为 .getsockname() 返回一个 2 元组(主机,端口)
必须先绑定套接字,然后才能.getsockname()使用sock.bind(('', 0)).
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
9222 次 |
| 最近记录: |