a year ago
https://railway.app/project/561b89c1-c887-4420-9afc-b80d3f79cdc9/service/5d6acff7-796f-4abb-ac7b-7277c9e6a7cf/settings
I have a Web socket app I made in python and I'm trying to expose the socket. It works locally but it doesn't work once I put it up on real way railway knows the port that it's exposed on but I can't access that through railway url.
Without exposing everything here is a bit of my code
```py
import asyncio
import aiohttp
import websockets
from io import BytesIO
# Broadcast to WebSocket clients
message_data = {
'chat_id': chat_id,
'chat_title': chat_title,
'message_text': message_text,
'sender_id': sender_id,
'sender_username': sender_username,
'sender_name': sender_name
}
await broadcast_to_websockets(json.dumps(message_data))
async def broadcast_to_websockets(message):
if connected_websockets:
await asyncio.wait([asyncio.create_task(ws.send(message)) for ws in connected_websockets])
async def websocket_handler(websocket, path):
connected_websockets.add(websocket)
try:
async for message in websocket:
# print(f"Received message: {message}")
pass
finally:
connected_websockets.remove(websocket)
async def main():
await client.start()
print('Listening for new messages')
# Start WebSocket server
websocket_server = websockets.serve(websocket_handler, "0.0.0.0", 8765)
print('WebSocket server is ready and listening on ws://0.0.0.0:8765')
await asyncio.gather(
client.run_until_disconnected(),
websocket_server
)
with client:
client.loop.run_until_complete(main())
```
0 Replies