newly created test server works so why the fuck does my other server not work

This commit is contained in:
2023-04-13 08:52:07 -07:00
parent f96425616b
commit dbd8e614b8
4 changed files with 87 additions and 41 deletions

40
server.old.py Normal file
View File

@@ -0,0 +1,40 @@
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"
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):
server_socket = socket.socket()
server_socket.bind((self.host, self.port))
server_socket.listen()
print(f"server is listening on {socket.gethostbyname(self.host)}")
while True:
conn, addr = 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()

View File

@@ -1,40 +1,46 @@
import socket import socket
import time
import threading import threading
class ServerVCKO: HEADER = 1024
def __init__(self): PORT = 5000
self.host = socket.gethostname() SERVER = socket.gethostbyname(socket.gethostname())
self.port = 5000 ADDR = (SERVER, PORT)
self.header_size = 1024 FORMAT = 'utf-8'
self.format = "utf-8" DISCONNECT_MESSAGE = "!DISCONNECT"
self.disconnect_message = "!DISCONNECT"
def handle_client(self, conn, addr): server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print(f"Connection from: {addr}") server.bind(ADDR)
connected = True
while connected: def handle_client(conn, addr):
msg_length = conn.recv(self.header_size).decode(self.format) print(f"[NEW CONNECTION] {addr} connected.")
if msg_length:
msg_length = int(msg_length) connected = True
msg = conn.recv(msg_length).decode(self.format) while connected:
if msg == disconnect_message: msg_length = conn.recv(HEADER).decode(FORMAT)
if msg_length:
msg_length = int(msg_length)
msg = conn.recv(msg_length).decode(FORMAT)
match msg:
case DISCONNECT_MESSAGE:
connected = False connected = False
print(f"[{addr}] {msg}") case "test":
conn.send("msg received".encode(self.format)) print(f"[{addr}] {msg}")
conn.close() conn.send("Msg received special response".encode(FORMAT))
def start(self): case _:
server_socket = socket.socket() print(f"[{addr}] {msg}")
server_socket.bind((self.host, self.port)) conn.send("Msg received".encode(FORMAT))
server_socket.listen() conn.close()
print(f"server is listening on {socket.gethostbyname(self.host)}")
while True:
conn, addr = server_socket.accept() def start():
thread = threading.Thread(target=self.handle_client, args=(conn, addr)) server.listen()
thread.start print(f"[LISTENING] Server is listening on {SERVER}")
print(f"Active threads: {threading.active_count() - 1}") while True:
conn, addr = server.accept()
if __name__ == '__main__': thread = threading.Thread(target=handle_client, args=(conn, addr))
print("server starting") thread.start()
server = ServerVCKO() print(f"[ACTIVE CONNECTIONS] {threading.active_count() - 1}")
server.start()
print("[STARTING] server is starting...")
start()

View File

@@ -1,7 +1,7 @@
import socket import socket
import threading import threading
HEADER = 64 HEADER = 1024
PORT = 5000 PORT = 5000
SERVER = socket.gethostbyname(socket.gethostname()) SERVER = socket.gethostbyname(socket.gethostname())
ADDR = (SERVER, PORT) ADDR = (SERVER, PORT)

View File

@@ -17,15 +17,15 @@ class MyClass():
connected = True connected = True
while connected: while connected:
msg_length = conn.recv(HEADER).decode(FORMAT) msg_length = conn.recv(self.HEADER).decode(self.FORMAT)
if msg_length: if msg_length:
msg_length = int(msg_length) msg_length = int(msg_length)
msg = conn.recv(msg_length).decode(FORMAT) msg = conn.recv(msg_length).decode(self.FORMAT)
if msg == DISCONNECT_MESSAGE: if msg == self.DISCONNECT_MESSAGE:
connected = False connected = False
print(f"[{addr}] {msg}") print(f"[{addr}] {msg}")
conn.send("Msg received".encode(FORMAT)) conn.send("Msg received".encode(self.FORMAT))
conn.close() conn.close()