Advertisement
EdmundC

pingserver

Sep 28th, 2024 (edited)
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.30 KB | None | 0 0
  1. import socket
  2. import threading
  3.  
  4. # Function to broadcast the server's IP using a specific broadcast address
  5. def broadcast_server_ip():
  6.     udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  7.     udp_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
  8.     broadcast_address = "192.168.1.255"  # Replace with your network's broadcast address
  9.  
  10.     while True:
  11.         message = "ServerIP:" + socket.gethostbyname(socket.gethostname())
  12.         try:
  13.             udp_socket.sendto(message.encode('utf-8'), (broadcast_address, 37020))
  14.         except Exception as e:
  15.             print(f"Broadcast failed: {e}")
  16.  
  17. # Server setup (same as before)
  18. def start_server():
  19.     server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  20.     server_socket.bind(("0.0.0.0", 5555))  # Accept connections on any network interface
  21.     server_socket.listen(5)
  22.     print("Server started on port 5555")
  23.  
  24.     # Start broadcasting server's IP in a separate thread
  25.     threading.Thread(target=broadcast_server_ip, daemon=True).start()
  26.  
  27.     while True:
  28.         client_socket, addr = server_socket.accept()
  29.         print(f"Accepted connection from {addr}")
  30.         clients.append(client_socket)
  31.         threading.Thread(target=handle_client, args=(client_socket,)).start()
  32.  
  33. clients = []
  34. start_server()
  35.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement