30 lines
953 B
Python
30 lines
953 B
Python
import socket
|
|
|
|
def run_udp_server():
|
|
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
server.bind(('0.0.0.0', 10001))
|
|
print("UDP server started on port 10001")
|
|
print("Waiting for messages...")
|
|
|
|
try:
|
|
while True:
|
|
data, addr = server.recvfrom(1024)
|
|
message = data.decode().strip()
|
|
print(f"Message from {addr}: '{message}'")
|
|
|
|
if message.upper() == 'EXIT':
|
|
print("Received EXIT command, shutting down")
|
|
break
|
|
|
|
modified_message = f"UDP-ECHO: {message.upper()} [modified]"
|
|
server.sendto(modified_message.encode(), addr)
|
|
print(f"Sent response to client: '{modified_message}'")
|
|
|
|
except KeyboardInterrupt:
|
|
print("\nServer stopped by user")
|
|
finally:
|
|
server.close()
|
|
print("Server socket closed")
|
|
|
|
if __name__ == "__main__":
|
|
run_udp_server() |