added server communication between client and server
This commit is contained in:
@ -2,7 +2,7 @@ import json
|
||||
import socket
|
||||
import threading
|
||||
|
||||
from Game_Client.Classes.System.Network.EventHandler import TCPEventHandler, UDPEventHandler
|
||||
from Classes.System.Network.EventHandler import TCPEventHandler, UDPEventHandler
|
||||
|
||||
class NetworkManager:
|
||||
class UDP:
|
||||
@ -11,19 +11,22 @@ class NetworkManager:
|
||||
self.port = int(port)
|
||||
self.udpSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
self.eventHandler = UDPEventHandler(self.udpSocket)
|
||||
|
||||
try:
|
||||
self.udpSocket.bind((self.addr, self.port))
|
||||
except Exception as e:
|
||||
print(f"Error binding UDP socket: {e}")
|
||||
|
||||
# start listener thread
|
||||
self.listen()
|
||||
|
||||
def send(self, message: dict):
|
||||
self.udpSocket.sendto(json.dumps(message).encode(), (self.addr, self.port))
|
||||
try:
|
||||
self.udpSocket.sendto(json.dumps(message).encode(), (self.addr, self.port))
|
||||
except Exception as e:
|
||||
print(f"Error sending UDP data: {e}")
|
||||
|
||||
# starts a listener thread for udp data
|
||||
def listen(self):
|
||||
udpThread = threading.Thread(target=self.receive)
|
||||
udpThread.daemon = True
|
||||
udpThread.start()
|
||||
|
||||
def receive(self):
|
||||
while True:
|
||||
try:
|
||||
@ -35,6 +38,11 @@ class NetworkManager:
|
||||
print(f"Error receiving UDP data: {e}")
|
||||
break
|
||||
|
||||
def listen(self):
|
||||
udpThread = threading.Thread(target=self.receive)
|
||||
udpThread.daemon = True
|
||||
udpThread.start()
|
||||
|
||||
class TCP:
|
||||
def __init__(self, addr: str, port: str):
|
||||
self.addr = addr
|
||||
@ -42,20 +50,19 @@ class NetworkManager:
|
||||
self.tcpSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
self.eventHandler = TCPEventHandler(self.tcpSocket)
|
||||
|
||||
# start listener thread
|
||||
try:
|
||||
self.tcpSocket.connect((self.addr, self.port))
|
||||
except Exception as e:
|
||||
print(f"Error connecting TCP socket: {e}")
|
||||
|
||||
# Starten des Listener-Threads
|
||||
self.listen()
|
||||
|
||||
def connect(self):
|
||||
self.tcpSocket.connect((self.addr, self.port))
|
||||
|
||||
def send(self, message: dict):
|
||||
self.tcpSocket.sendall(json.dumps(message).encode())
|
||||
|
||||
# starts a listener thread for tcp data
|
||||
def listen(self):
|
||||
tcp_thread = threading.Thread(target=self.receive)
|
||||
tcp_thread.daemon = True
|
||||
tcp_thread.start()
|
||||
try:
|
||||
self.tcpSocket.sendall(json.dumps(message).encode())
|
||||
except Exception as e:
|
||||
print(f"Error sending TCP data: {e}")
|
||||
|
||||
def receive(self):
|
||||
while True:
|
||||
@ -68,6 +75,11 @@ class NetworkManager:
|
||||
print(f"Error receiving TCP data: {e}")
|
||||
break
|
||||
|
||||
def __init__(self, addr: str, port: str):
|
||||
self.tcp = self.TCP(addr, port)
|
||||
self.udp = self.UDP(addr, port)
|
||||
def listen(self):
|
||||
tcpThread = threading.Thread(target=self.receive)
|
||||
tcpThread.daemon = True
|
||||
tcpThread.start()
|
||||
|
||||
def __init__(self, addr: str, tcpport: str, udpport: str):
|
||||
self.tcp = self.TCP(addr, tcpport)
|
||||
self.udp = self.UDP(addr, udpport)
|
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user