繁体   English   中英

出现错误 - AttributeError: 'module' object has no attribute 'connect' - 从 sockets 程序导入时

[英]Getting the error - AttributeError: 'module' object has no attribute 'connect' - While importing from a sockets program

我正在为 python 上的 sockets 程序构建一个 GUI(使用 kivy)。 sockets 程序(客户端和服务器)运行良好。 现在,我必须从客户端文件中导入 the.connect() 以便用户可以连接到服务器。 client.py 的代码是我现在使用的标准 telnet 示例。 当我尝试导入并使用它时,我得到了 ATtributeError。 我被困在这里,请帮助,否则我无法前进。

'''

import socket, select, string, sys

def prompt() :
    sys.stdout.write('<You> ')
    sys.stdout.flush()

#main function
if __name__ == "__main__":

    if(len(sys.argv) < 3) :
        print('Usage : python telnet.py hostname port')
        sys.exit()

    host = sys.argv[1]
    port = int(sys.argv[2])

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.settimeout(2)

    # connect to remote host
    s.connect((host, port))


    print('Connected to remote host. Start sending messages')
    prompt()

    while 1:
        socket_list = [sys.stdin, s]

        # Get the list sockets which are readable
        read_sockets, write_sockets, error_sockets = select.select(socket_list , [], [])

        for sock in read_sockets:
            #incoming message from remote server
            if sock == s:
                data = sock.recv(4096)
                if not data :
                    print('\nDisconnected from chat server')
                    sys.exit()
                else :
                    #print data
                    sys.stdout.write(data)
                    prompt()

            #user entered a message
            else :
                msg = sys.stdin.readline()
                s.send(msg)
                prompt()

'''

您的代码似乎正确。

检查您是否有一个名为 socket.py 的文件,它掩盖了原始套接字模块。 如果是这样,将其重命名以解决冲突。

暂无
暂无

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

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