TCP插座服务器发送消息

发布于 2025-01-31 14:06:45 字数 1388 浏览 1 评论 0 原文

我正在尝试使用SocketServer实现螺纹TCP服务器,如下所示。

我正在尝试将其连接到其他服务器并发送消息,但是我不能做 self self.server.socket.connect.connect.connect((host,port) ),因为它继续返回 oserror:[WinError 10022]提供了无效的参数。我知道这可能是因为插座未配置,但是打印它给出< socket.socket.socket fd = 792,family = addressfamily.af_inet,type = socketKind.sockekind.sock_stream,proto = 0,laddr =(host,host,host,,端口)> ,这似乎很好吗?

class Component:
    def __init__(self, host, port):
        self.host = host
        self.port = port
        self.server = ThreadedTCPServer((host, port), ThreadedTCPRequestHandler)
        self.server.socket.connect((host, port))

        server_thread = threading.Thread(target=self.server.serve_forever)
        # Exit the server thread when the main thread terminates
        server_thread.daemon = True
        server_thread.start()
        print("Server loop running in thread:", server_thread.name)

尝试创建一个单独的 self.socket = socket.socket(socket.abect.abet.inet,socket.socke.sock_stream)升高 oserror:[WinError 10048]每个套接字地址只有一个用法(协议/网络地址即使我设置 alle_reuse_address = true in three> threadedtcpserver ,/port)通常允许

I am trying to implement a threaded TCP server using socketserver as documented here.

https://docs.python.org/3/library/socketserver.html#socketserver-tcpserver-example

I am trying to get it to connect to other servers and send messages, but I can't do self.server.socket.connect((host, port)) as it keeps returning OSError: [WinError 10022] An invalid argument was supplied. I understand that this might be because the socket is not configured, but printing it gives <socket.socket fd=792, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=(host, port)>, which seems to be fine?

class Component:
    def __init__(self, host, port):
        self.host = host
        self.port = port
        self.server = ThreadedTCPServer((host, port), ThreadedTCPRequestHandler)
        self.server.socket.connect((host, port))

        server_thread = threading.Thread(target=self.server.serve_forever)
        # Exit the server thread when the main thread terminates
        server_thread.daemon = True
        server_thread.start()
        print("Server loop running in thread:", server_thread.name)

Trying to create a separate self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) raises OSError: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted even when I set allow_reuse_address = True in ThreadedTCPServer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文