File size: 1,026 Bytes
d2db5a7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import asyncio
import websockets

async def handle_user_client(websocket, path):
    external_uri = 'wss://ramesh-vani-wspython.hf.space'
    
    async with websockets.connect(external_uri) as external_ws:
        async def forward_user_to_external():
            async for user_message in websocket:
                await external_ws.send(user_message)

        async def forward_external_to_user():
            async for external_message in external_ws:
                print(f"Received from external server: {external_message}")
                await websocket.send(external_message)

        # Start two tasks to handle message forwarding in both directions
        await asyncio.gather(
            forward_user_to_external(),
            forward_external_to_user(),
        )

# Set up WebSocket server for user
user_server = websockets.serve(handle_user_client, "0.0.0.0", 7860)

# Start the server and run the event loop
asyncio.get_event_loop().run_until_complete(user_server)
asyncio.get_event_loop().run_forever()