python - (聊天室)通常只允许一个地址使用一个套接字(协议/网络地址/端口)
问题描述
我尝试以 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()
更改端口无济于事!
解决方案
推荐阅读
- django - 如何在 Django REST 框架序列化程序中添加额外的 false 字段?
- c# - 模拟对象处于重放状态时,此动作无效
- angular - 预期 2 个参数,但在 angular build prod 中得到 1 个
- python - 在函数内向 Pandas 数据框添加列而不发出警告
- javascript - 怎么说。(array[0] 是否等于 secondArray[0] 或 [1] 或 [2])
- javascript - 在 Django 中找不到 JavaScript
- python - 如何从python [9,12,13,11,10] true [17,1,2,3,5] true [19,22,23,27,55] false
- typescript - Jest with typescript 不允许直接导入默认导出
- android - 如何在videoview中设置播放按钮图像png?
- django - Django 翻译仅部分工作