gpt4 book ai didi

python - 我的套接字正在使用哪个端口

转载 作者:太空宇宙 更新时间:2023-11-03 15:17:09 24 4
gpt4 key购买 nike

假设我在 python 中创建一个 UDP 套接字,然后使用以下方法发送消息:

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

sock.sendto(MESSAGE, (DEST_IP, DEST_PORT))

我如何找出我的消息是从哪个源端口发送的?

(我不想将我的套接字绑定(bind)到任何特定端口。但是我如何找出用于发送消息的源端口?)

最佳答案

第一个 getsockname() 似乎不起作用,但第二个可以。所以也许它直到第一次传输后才获得有效值:

#!/usr/local/cpython-3.3/bin/python

import socket

MESSAGE = b"Hello"
DEST_IP = '127.0.0.1'
DEST_PORT = 12345

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

print(sock.getsockname())
sock.sendto(MESSAGE, (DEST_IP, DEST_PORT))
print(sock.getsockname())

HTH

Help on method getsockname:getsockname(...) method of socket._socketobject instance    getsockname() -> address info    Return the address of the local endpoint.  For IP sockets, the address    info is a pair (hostaddr, port).

关于python - 我的套接字正在使用哪个端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20110048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com