Files
basegame-vcko/server.old.py
2023-04-13 15:45:54 -07:00

41 lines
1.4 KiB
Python

import socket
import time
import threading
class ServerVCKO:
def __init__(self):
self.host = socket.gethostname()
self.port = 5000
self.header_size = 1024
self.format = "utf-8"
self.disconnect_message = "!DISCONNECT"
self.server_socket = socket.socket()
self.server_socket.bind((self.host, self.port))
def handle_client(self, conn, addr):
print(f"Connection from: {addr}")
connected = True
while connected:
msg_length = conn.recv(self.header_size).decode(self.format)
if msg_length:
msg_length = int(msg_length)
msg = conn.recv(msg_length).decode(self.format)
if msg == disconnect_message:
connected = False
print(f"[{addr}] {msg}")
conn.send("msg received".encode(self.format))
conn.close()
def start(self):
self.server_socket.listen()
print(f"server is listening on {self.server_socket.gethostbyname(self.host)}")
while True:
conn, addr = self.server_socket.accept()
thread = threading.Thread(target=self.handle_client, args=(conn, addr))
thread.start
print(f"Active threads: {threading.active_count() - 1}")
if __name__ == '__main__':
print("server starting")
server = ServerVCKO()
server.start()