Select Git revision
create-group.component.css
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
chat_server.py 2.09 KiB
from server import Server
import time
import socket
import re
if __name__ == '__main__':
# Create an instance of the Server class
server_instance = Server(client_address="", server_id="", server_port=0, server_cache=dict(), clients_cache=dict(), leader=False)
# Get the broadcast address from the existing server_instance
broadcast_address = server_instance.get_broadcast_address()
if broadcast_address is None:
print("Failed to obtain broadcast address. Exiting.")
exit(1)
print(broadcast_address)
os = Server.get_os_type()
client_address = ""
server_id = ""
server_port = 0
server_cache = dict()
clients_cache = dict()
BROADCAST_PORT = 49154
#BROADCAST_PORT_LISTEN = 49154
print("I'm alive")
MSG = bytes("HI MAIN SERVER", 'utf-8')
broadcast_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
broadcast_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
broadcast_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# Create a separate socket for receiving broadcast messages
# receive_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# receive_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# receive_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
if os == "macOS":
broadcast_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
broadcast_socket.sendto(MSG, (broadcast_address, BROADCAST_PORT))
# receive_socket.bind((broadcast_address, BROADCAST_PORT_LISTEN))
else:
broadcast_socket.sendto(MSG, (broadcast_address, BROADCAST_PORT))
print("Successfully sent message")
message, server = broadcast_socket.recvfrom(1024)
print("test")
match = re.search(r'\b([A-Za-z])\b$', message.decode('utf-8'))
server_id = match.group(1)
print('Received message from server: ', message.decode('utf-8'))
# You can use the existing server_instance here, no need to create another one
server_instance.start() # Start the server process
time.sleep(20)