|
|
@ -18,16 +18,23 @@ def get_ip_address(): |
|
|
|
# Update these with the correct values for your host and server |
|
|
|
HOST_SERVER_IP = "192.168.1.113" |
|
|
|
HOST_SERVER_PORT = 4999 |
|
|
|
SERVER_NAME = "server_1" |
|
|
|
|
|
|
|
SERVER_IP = get_ip_address() |
|
|
|
SERVER_PORT = 8000 |
|
|
|
|
|
|
|
sio = socketio.AsyncClient() |
|
|
|
|
|
|
|
async def announce_server(): |
|
|
|
async def announce_server(**kwargs): |
|
|
|
SERVER_NAME = "server_1" |
|
|
|
server_name = kwargs.get("name", SERVER_NAME) |
|
|
|
# SERVER_IP = kwargs.get("ip", SERVER_IP) |
|
|
|
# SERVER_PORT = kwargs.get("port", SERVER_PORT) |
|
|
|
# HOST_SERVER_IP = kwargs.get("host_server_ip", HOST_SERVER_IP) |
|
|
|
# HOST_SERVER_PORT = kwargs.get("host_server_port", HOST_SERVER_PORT) |
|
|
|
|
|
|
|
@sio.event |
|
|
|
async def connect(): |
|
|
|
await sio.emit('register', {'name': SERVER_NAME, 'ip': SERVER_IP, 'port': SERVER_PORT}) |
|
|
|
await sio.emit('register', {'name': server_name, 'ip': SERVER_IP, 'port': SERVER_PORT}) |
|
|
|
print("Announced server to host") |
|
|
|
|
|
|
|
async def main(): |
|
|
@ -53,15 +60,15 @@ async def announce_server(): |
|
|
|
|
|
|
|
await main() |
|
|
|
|
|
|
|
def announce_server_decorator(host_block_function): |
|
|
|
@wraps(host_block_function) |
|
|
|
def announce_server_decorator(task): |
|
|
|
@wraps(task) |
|
|
|
def wrapper(*args, **kwargs): |
|
|
|
async def main(*args, **kwargs): |
|
|
|
loop = asyncio.get_event_loop() |
|
|
|
host_block_thread = loop.run_in_executor(None, host_block_function) |
|
|
|
host_block_thread = loop.run_in_executor(None, task) |
|
|
|
|
|
|
|
# Announce the server to the host |
|
|
|
await announce_server() |
|
|
|
await announce_server(name='test') |
|
|
|
|
|
|
|
# Wait for host_block to finish |
|
|
|
await host_block_thread |
|
|
@ -69,3 +76,23 @@ def announce_server_decorator(host_block_function): |
|
|
|
|
|
|
|
return asyncio.run(main()) |
|
|
|
return wrapper |
|
|
|
|
|
|
|
# def announce_server_decorator(**outer_kwargs): |
|
|
|
# def decorator(host_block_function): |
|
|
|
# @wraps(host_block_function) |
|
|
|
# def wrapper(*args, **kwargs): |
|
|
|
|
|
|
|
# async def main(*args, **kwargs): |
|
|
|
# loop = asyncio.get_event_loop() |
|
|
|
# host_block_thread = loop.run_in_executor(None, host_block_function, *args, **kwargs) |
|
|
|
|
|
|
|
# # Announce the server to the host |
|
|
|
# await announce_server(**outer_kwargs) |
|
|
|
|
|
|
|
# # Wait for host_block to finish |
|
|
|
# await host_block_thread |
|
|
|
|
|
|
|
# return asyncio.run(main(*args, **kwargs)) |
|
|
|
|
|
|
|
# return wrapper |
|
|
|
# return decorator |