Skip to content

Technical Notes

Ryan Slominski edited this page May 2, 2017 · 9 revisions

Java Web Socket Specification (JSR 356) "Irregularities"

  • Determining the client IP address or request headers (User Agent, X-Forwarded-For, etc.) in a web socket server end point is not well defined by the spec and is generally Application Server (Tomcat vs GlassFish vs Wildfly, etc.) dependent. A complex ThreadLocal approach can be used to avoid proprietary approaches: https://java.net/jira/browse/WEBSOCKET_SPEC-235.
  • Asynchronous writes are not required to be thread safe per specification. Most implementations are though as it makes sense that it would be. Tomcat is a notable exception: https://bz.apache.org/bugzilla/show_bug.cgi?id=56026.
Clone this wiki locally