首页 > 解决方案 > (聊天室)通常只允许一个地址使用一个套接字(协议/网络地址/端口)

问题描述

我尝试以 oop 风格创建一个聊天室,但套接字无法正常工作。

错误:

文件“D:/Master/Chat/client_chat.py”,第 10 行,在init self.client.bind(self.SERVER) OSError: [WinError 10048] 通常只允许一个地址使用套接字(协议/网络地址/港口)

服务器部分:

import socket

class Server:
    def __init__(self):
        self.ADDR = "localhost"
        self.PORT = 5454
        self.SERVER = (self.ADDR, self.PORT)
        self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.server.bind(self.SERVER)
        self.server.listen()
        self.conn, self.addr = self.server.accept()
        self.message = self.conn.recv(64).decode('utf-8')
        print("[SERVER RUNNING]")

    def receive_message(self):
        return self.message


def main():
    print(Server())


if __name__ == '__main__':
    main()

客户端部分:

import socket


class Client:
    def __init__(self):
        self.ADDR = "localhost"
        self.PORT = 5454
        self.SERVER = (self.ADDR, self.PORT)
        self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.client.bind(self.SERVER)
        self.client.connect(self.SERVER)
        self.msg_inp = input().encode('utf-8')

    def send_message(self):
        return self.msg_inp


def main():
    print(Client())


if __name__ == '__main__':
    main()

更改端口无济于事!

标签: pythonpython-3.xsocketsport

解决方案


推荐阅读