ClassIn.hacker 2025-02-16 19:25 采纳率: 40%
浏览 4

python socket_udp问题

各位 大 佬 们好:
我在编写程序时有些问题:IP传不进去
我想问问,是一定要固定的IP吗?
而且望你们帮帮我哪里有问题
帮我改正一下谢谢

程序:

host=(IP,10110)
socket_udp=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

while True:
    data_send = 'ok'
    socket_udp.sendto(data_send.encode(),host)
    print('发送成功')
    if data_send=='byebye':
        break
socket_udp.close()

异常显示

File "E:\project\py\hidebox\defe\check.py", line 34, in leni
    socket_udp.sendto(data_send.encode(),host)
socket.gaierror: [Errno 11004] getaddrinfo failed
  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2025-02-16 19:25
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    Python Socket UDP 问题

    你好!我看到你的问题是关于 Python Socket UDP 的,主要是关于 IP 地址的问题。

    首先,IP 地址是否一定要固定的?答案是可以的。UDP 套接字可以使用任意的 IP 地址,但是如果你想在网络上广播数据,那么你需要使用特殊的 IP 地址,例如 0.0.0.0127.0.0.1

    在你的代码中,你使用的是 (IP, 10110),这意味着你使用的是固定 IP 地址 IP 和端口号 10110。如果你想使用任意的 IP 地址,可以使用 0.0.0.0127.0.0.1

    下面是一个简单的示例代码:

    import socket
    
    host = ('0.0.0.0', 10110)  # 使用任意的 IP 地址
    socket_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    socket_udp.bind(host)
    

    在上面的代码中,我们使用 0.0.0.0 作为 IP 地址,这意味着 socket 可以绑定到任何可用的网络接口上。

    如果你想使用固定 IP 地址,可以将 host 设置为 (IP, 10110),例如:

    host = ('192.168.1.100', 10110)  # 使用固定 IP 地址
    socket_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    socket_udp.bind(host)
    

    在上面的代码中,我们使用固定 IP 地址 192.168.1.100 和端口号 10110

    总的来说,IP 地址是否固定的取决于你的需求。如果你想在网络上广播数据,可以使用任意的 IP 地址;如果你想使用固定 IP 地址,可以将 host 设置为固定 IP 地址。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月16日