WebSocket Chat on WildFly and OpenShift (Tech Tip #51)

Chat is one of the most canonical sample to explain WebSocket. Its a fairly commonly used interface and allows to explain the fundamental WebSocket concepts very easily. Of course, Java EE 7 WebSocket has one too, available here! You can easily run it on WildFly using the following steps:

And then access it at http://localhost:8080/chat/.

One of the biggest advantage of WebSocket is how it opens up a socket over the same port as HTTP, 8080 in this case. If you want to deploy this application to OpenShift, then WebSocket is available on port 8000 for regular access, and 8443 for secure access. This is explained in the figure below:

openshift-websocket-routing

 If you want to run this Chat application on OpenShift, then use the following steps:

  1. Click here to provision a WildFly instance in OpenShift. Change the name to “chatserver” and everything else as default. Click on “Create Application” to create the application.
  2. Clone the workspace:
  3. Edit the first line of “javaee7-samples/websocket/chat/src/main/webapp/websocket.js”from:
    to
  4. Create the WAR file:
  5. Copy the generated WAR file to the workspace cloned earlier:
  6. Remove existing files and add the WAR file to git repository:
    And this shows the output as:

And now your chat server is available at: http://chatserver-milestogo.rhcloud.com and looks like:

techtip51-websocket-chat-output

Enjoy!

Be Sociable, Share!
  • Tweet

12 thoughts on “WebSocket Chat on WildFly and OpenShift (Tech Tip #51)

  1. I tried a few months ago exactly the same. It didn’t work and i see now why. I need to use the port 8000 for the websocket connection.

    Thanks
    Rudy

  2. Have you followed some progress? I use a regular Tomcat7 Openshift instance and Websockets just simply don’t want to work (while they do locally). I wonder if I’m just fighting an unwinnable battle if OpenShift simply doesn’t really support Tomcat7 websockets (on out-of-the-box cartridges) ..

  3. Hi
    Im not directly write about your blog, but you seem know about this thema !
    I hope I may put a ask ?
    My problem is the constructor from websocket server ! where do it ? ( most sample have no constructor, only in sample from openshift make new WSServer() blaaa ..
    Ok, I use vaadin, gwt, wildfly …. websocket working fine ! but without call new WSServer() nevertheless don’t will by create new websocketserver…… (over CDI i don’t known much 😉
    I need reference in my session from websocket but this created fully asynchron …..

    I dont know where I need begin to search ! maybe you have a tip for my ?

    Best Regards

  4. Hello Arun,

    I have develop just link de HOL Java EE 7, but my Websocket receive just after the connection an error code 1011.

    A am using HTTPS connection and using wss protocol to connect to my Websocket.

    Do you have any tip what could be missing?

    Best regards,

    Bruno

  5. Hello Arun!

    Yes, I am using HTTPS (443) to access the xhtml page and 8443 to connect with wss Websocket.

    Best Regards,

    Bruno

  6. Hi Sir,

    Thank you for this tut., I wonder if this chat application can run even in openshits free account?

    Regards,

  7. Clicking on ‘Click here to provision … ‘ takes me to an OpenShift project that looks like it wants to deploy an instance of WordPress 4 with PHP and MySQL.

    Is something broken, or am I misunderstanding where that link should lead?

Leave a Reply

Your email address will not be published. Required fields are marked *