30 lines
No EOL
928 B
Python
30 lines
No EOL
928 B
Python
import websockets
|
|
import asyncio
|
|
|
|
class Server:
|
|
def __init__(self):
|
|
self.ip = "0.0.0.0"
|
|
self.port = 8000
|
|
|
|
try:
|
|
asyncio.run(self.start())
|
|
except KeyboardInterrupt:
|
|
print("Server sagt: Server wurde beendet.")
|
|
|
|
@staticmethod
|
|
async def handle_client(websocket):
|
|
print("Server sagt: Client verbunden")
|
|
try:
|
|
async for message in websocket:
|
|
print(f"Server hat Empfangen: {message}")
|
|
|
|
response = f"Server antwortet: {message.upper()}"
|
|
await websocket.send(response)
|
|
|
|
except websockets.exceptions.ConnectionClosed:
|
|
print("Server sagt: Client getrennt")
|
|
|
|
async def start(self):
|
|
server = await websockets.serve(self.handle_client, self.ip, self.port)
|
|
print(f"Websocket Server läuft auf IP: {self.ip} Port: {self.port}")
|
|
await server.wait_closed() |