【问题标题】:How to call socket module properly in Python如何在 Python 中正确调用套接字模块
【发布时间】:2019-04-09 23:07:42
【问题描述】:

我正在构建一个简单的 UDP 客户端,但是,我收到一条错误消息“套接字不可调用”。我检查了代码,它可以找到问题

我尝试使用“from socket import *”导入模块,但没有成功。

import socket
serverName = 'hostname'
serverPort = 1200
clientSocket = socket(socket.AF_INET, socket.SOCK_DGRAM)
message = 'Testing the system'
clientSocket.sendto(message, (serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print(modifiedMessage)
clientSocket.close()

【问题讨论】:

    标签: python udp udpclient


    【解决方案1】:

    你需要像这样从套接字模块导入套接字

    import socket
    from socket import socket as sk
    serverName = 'hostname'
    serverPort = 1200
    clientSocket = sk(socket.AF_INET, socket.SOCK_DGRAM)
    

    【讨论】:

      【解决方案2】:

      我认为您已将程序命名为 socket.py 或将程序存储在包含 socket.py 的文件夹中。重命名文件或删除它们

      【讨论】:

        【解决方案3】:

        你的代码应该可以工作,你只需要改变

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

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

        您正在尝试将输入提供给模块 (socket) 而不是模块内的函数 (socket.socket)

        【讨论】:

          猜你喜欢
          • 2021-10-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-17
          • 2019-05-05
          • 2021-02-04
          • 2018-07-27
          • 1970-01-01
          相关资源
          最近更新 更多