首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python 3.5.2套接字sendto()错误:模块‘UdpServer’没有属性'sendto‘

python 3.5.2套接字sendto()错误:模块‘UdpServer’没有属性'sendto‘
EN

Stack Overflow用户
提问于 2016-09-18 22:07:05
回答 1查看 1K关注 0票数 1

我在s.sendto(data,addr)上遇到了python套接字的问题,我的代码如下

代码语言:javascript
复制
import socket

    def Main():
        host = '127.0.0.1'
        port = 5000
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.bind((host, port))
        print("server started")
        while True:
            data, addr = s.recvfrom(1024)

            print ("message from : "+ str(addr))
            print ("from connected user : "+ str(data))
            data = str(data.upper())
            print ("sending : "+ str(data))
            socket.sendto(data, addr)

和结果

代码语言:javascript
复制
    socket.sendto(data, addr)
AttributeError: module 'socket' has no attribute 'sendto'
        s.close()
    if __name__ == '__main__':
        Main()

在UdpClient,s.sendto正在工作

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-18 22:29:49

您似乎输入了错误的socket.sendto(...语句: AttributeError被引发,因为方法sendto()是从socket.socket类的实例中调用的(就像在s中一样),而不是从socket模块本身调用。有关该语句含义的更多详细信息,请参阅here

所以基本上需要将socket.sendto(...更改为s.sendto(...

此外,如果您想要检查任何x对象的属性(除了读取文档之外),您可以简单地检查它的x.__dict__字段,如here所述

干杯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39558499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档