簡體   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