聊天室的简单实现,不废话,直接上代码
服务器端:
from socketserver import TCPServer, ThreadingMixIn, StreamRequestHandler
from linux_time import datetime_now
class Server(ThreadingMixIn, TCPServer):
def __init__(self, server_address, RequestHandlerClass):
TCPServer.__init__(
self, server_address, RequestHandlerClass)
self.users = {}
class MyHandler(StreamRequestHandler):
def handle(self):
self.addr = self.request.getpeername()
self.server.users[self.addr[1]] = self.request
message = "用户" + self.addr[0] + ":" + str(self.addr[1]) + \
" " + datetime_now() + "加入了频道"
print(message)
self.broadCast("加入了频道")
while True:
try:
data = self.request.recv(1024).decode()
if data == "quit" or data == "":
del self.server.users[self.addr[1]]
break