繁体   English   中英

Python 使用套接字作为全局变量

[英]Python Use Socket as Global Variable

我创建了一个 function 来建立到服务器的 TCP/IP 套接字连接。 现在我想在我的应用程序中为其他任务重用套接字。 这样我就有了:

import socket

def creat_tcp_connection():
    sock_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock_tcp.connect(("163.173.96.12", 32000))
    return sock_tcp

if __name__ == "__main__":
    creat_tcp_connection()
    texte = "PING\n"
    creat_tcp_connection.sock_tcp.send(texte.encode('utf-8'))
    data=creat_tcp_connection.sock_tcp.recv(1024).decode('utf-8')
    print("Received ", str(data))

但是“AttributeError: 'function' object 没有属性 'sock_tcp'”。 如何在 creat_tcp_connection() function 中使用套接字 sock_tcp

非常感谢你!

您正在尝试访问 function 的属性,而不是 function 的返回值。试试这个:

import socket

def creat_tcp_connection():
    sock_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock_tcp.connect(("163.173.96.12", 32000))
    return sock_tcp

if __name__ == "__main__":
    sock = creat_tcp_connection()
    texte = "PING\n"
    sock.send(texte.encode('utf-8'))
    data=sock.recv(1024).decode('utf-8')
    print("Received ", str(data))

暂无
暂无

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

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