Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import socket
- import threading
- # Function to broadcast the server's IP using a specific broadcast address
- def broadcast_server_ip():
- udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- udp_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
- broadcast_address = "192.168.1.255" # Replace with your network's broadcast address
- while True:
- message = "ServerIP:" + socket.gethostbyname(socket.gethostname())
- try:
- udp_socket.sendto(message.encode('utf-8'), (broadcast_address, 37020))
- except Exception as e:
- print(f"Broadcast failed: {e}")
- # Server setup (same as before)
- def start_server():
- server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- server_socket.bind(("0.0.0.0", 5555)) # Accept connections on any network interface
- server_socket.listen(5)
- print("Server started on port 5555")
- # Start broadcasting server's IP in a separate thread
- threading.Thread(target=broadcast_server_ip, daemon=True).start()
- while True:
- client_socket, addr = server_socket.accept()
- print(f"Accepted connection from {addr}")
- clients.append(client_socket)
- threading.Thread(target=handle_client, args=(client_socket,)).start()
- clients = []
- start_server()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement