socket.connect()在 init (自身)中无法正常工作 这是所需的/已修改的代码
from socket import AF_INET, socket, SOCK_STREAM
import os
import time
class FileClient:
fileHOST = "localhost"
filePORT = 9999
fileADDR = (fileHOST, filePORT)
fileBUFSIZ = 512
def __init__(self, filename):
client = socket(AF_INET, SOCK_STREAM)
client.bind(("localhost", 2424))
client.connect(fileADDR)
我想从 init 内部执行连接,因为我需要一个文件名
当我将变量Host,Port,... socket(AF_INET,SOCK_STREAM)放置到类文件之外时,connect(...)起作用。
我从主程序调用班级文件: 我还没有初始化我的课程。
from cclient import cClient
from FileTransfer.fileclient import FileClient
import socket
import time
from threading import Thread
cClient的源代码
class cClient:
HOST = "localhost"
PORT = 5555
ADDR = (HOST, PORT)
BUFSIZ = 512
def __init__(self, name):
print("INIT cclient called")
self.client_socket = socket(AF_INET, SOCK_STREAM)
self.client_socket.bind((self.HOST, 2527))
self.client_socket.connect(self.ADDR)
print("Am I connected?")
“我连接了吗?”出现,仍然在我的服务器上看不到该连接,但在netstat中-是的。
仅当我在fileclient.py
的 init (self)内部使用connect(self.ADDR)时,才会出现此问题。如果不清楚,我将详细解释。