R
Railway5h ago
Kuha

Websocket issues

I'm deploying a backend made on Java Spring with railway. Never had any issue on the past year, but I added it websockets features on this last update. When testing and running everything locally it worked perfectly, but after deploying and changing the URL to poiint to the railway deployment, I can't connect at all.
Solution:
So just as for future reference, if anyone is trying to use WebSocketSharp to connect to Railway, it won't work due to WebSocketSharp issues
Jump to solution
23 Replies
Percy
Percy5h ago
Project ID: c17693fa-8f81-4f00-ad4d-8f231f687806
Kuha
KuhaOP5h ago
c17693fa-8f81-4f00-ad4d-8f231f687806
Brody
Brody5h ago
what is the exact url you are using
Kuha
KuhaOP5h ago
When running locally connecting to: ws://localhost:8002/ws?token= with the correct token connects perfectly changed it to the public railway url like I did for all HTTP requests: and it can't connect at all There is a log on the server that prints when a connection gets established, but the socket never opens at all
Brody
Brody5h ago
does your http server and websocket server listen on different ports?
Kuha
KuhaOP5h ago
nope locally both run on 8002 without issues
Brody
Brody4h ago
what error does the console logs in the browser print? and just to clear up any confusion, this would not be a platform issue
Kuha
KuhaOP4h ago
It's strange, now I managed to connect through postman to the railway wss but with the exact same url from the actual client (Made sure by making it print the url+token and pasting it into postman) and the client gets instantly replied with a closed websocket by railway printing the state goes from "Connecting" to "Closed" but when running locally it goes from "Connecting" to "Opened"
Brody
Brody4h ago
we are not closing the connection, this would be an issue with your application's code or configuration, from either your server or client ^
Kuha
KuhaOP4h ago
No description
Kuha
KuhaOP4h ago
It doesn't give any error at all in the railway logs it never shows the connection opened in the first place
Brody
Brody4h ago
You would want to add better error handling so that you can see the reason it fails to connect, or the reason your application does not accept the connection
Kuha
KuhaOP4h ago
That is what's throwing me off. There are logs for any error message that gets thrown as I could test everything when running locally All I do different between local and deploy is switching the BaseURL field locally after a connection I can see the closing reason, status and everything but here I don't even get connected in the first place
Brody
Brody4h ago
without proper error logging and just general verbose logging it is going to be quite hard to debug the issue with your code
Kuha
KuhaOP4h ago
Okay, it's refusing the connection with a code 1015
Brody
Brody4h ago
have you looked into why your code or configuration could be causing that?
Kuha
KuhaOP4h ago
All I'm finding related to said error are SSL certificates related errors but I thought railway handled the certificates
Brody
Brody4h ago
we do
Kuha
KuhaOP4h ago
@Brody is there a way to check which TLS version railway is using?
Brody
Brody4h ago
1.1 and 1.2
Kuha
KuhaOP3h ago
welp, the Unity library wasn't compatible with Railway's certificate it seems had to change to a different library and it now works all fine
Solution
Kuha
Kuha3h ago
So just as for future reference, if anyone is trying to use WebSocketSharp to connect to Railway, it won't work due to WebSocketSharp issues
Brody
Brody3h ago
glad you where able to figure out the issue with your code, and thank you for the follow up!
Want results from more Discord servers?
Add your server