News for hackers. Stuff that matters.
Re:You might not need WebSockets by hntrl on Friday April 11, 2025 @08:07PM (#43660063)
> sending a RequestID to the server so that you get request/response cycles isn't weird nor beyond the pale.

To me the sticking point is what if the "response" message never comes? There's nothing in the websocket protocol that dictates that messages need to be acknowledged. With request/response the client knows how to handle that case natively

> And the websocket browser API is nicer to work with than, say, EventSource.

What in particular would you say?

Re:You might not need WebSockets by hombre_fatal on Friday April 11, 2025 @08:30PM (#43660192)
Yeah, you'd need a lib or roll your own that races the response against a timeout.

Kind of like how you also need to implement app-layer ping/pong over websockets for keepalive even though tcp already sends its own ping/pong. -_-

As for EventSource, I don't remember exactly, something always comes up. That said, you could say the same for websockets since even implementing non-buggy reconn/backaway logic is annoying.

I'll admit, time for me to try the thing you pitch in the article.

Re:You might not need WebSockets by throwaway2037 on Friday April 11, 2025 @11:26PM (#43661079)
I have only small experience programming with web sockets, but I thought the ping pong mechanism is already built into the protocol. Does it have timeout? Does it help at the application layer?

Ref: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_...

Re:You might not need WebSockets by copperroof on Friday April 11, 2025 @11:44PM (#43661155)
You only need to implement it yourself if you’ve catastrophically fucked up the concurrency model on the client or sever side and they can’t respond out of band of whatever you’re waiting on.
Re:You might not need WebSockets by koakuma-chan on Friday April 11, 2025 @11:57PM (#43661225)
Discord implements its own heartbeat mechanism. I've heard websocket-native ping is somehow unreliable. Maybe in case the websocket connection is fine but something happened at the application layer?
Re:You might not need WebSockets by jand on Saturday April 12, 2025 @04:05AM (#43662387)
"Unreliable" is a bit harsh - the problem arises imho not from the websocket ping itself, but from the fact that client-side _and_ server-side need to support the ping/pong frames.
Re:You might not need WebSockets by apitman on Saturday April 12, 2025 @11:39PM (#43669920)
The WebSocket browser APIs don't support ping/pong
Re:You might not need WebSockets by rodorgas on Friday April 11, 2025 @11:09PM (#43660994)
Native EventSource doesn’t let you set headers ([issue](https://github.com/whatwg/html/issues/2177)), so it’s harder to handle authentication.