繁体   English   中英

Python-如何获取发送方套接字(UDP)的端口

[英]Python - How to get port of sender socket (UDP)

如果我有这样的UDP套接字:

import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

套接字可以发送数据:

sock.sendto("message", address)

我如何找出套接字的端口-将数据发送到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元组(主机,端口)

必须先绑定套接字,然后才能通过执行sock.bind(('', 0))使用.getsockname() sock.bind(('', 0))

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM