realityforge / gwt-websockets

GWT WebSocket Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deprecated

This project has been deprecated in favour of the WebSocket support provided by Elemental2. Elemental2 is closer to the browser, future compatible and easier to maintain.


gwt-websockets

Build Status

A simple library to provide web sockets support to GWT.

Quick Start

The simplest way to use the library is to add the following dependency into the build system. i.e.

<dependency>
   <groupId>org.realityforge.gwt.websockets</groupId>
   <artifactId>gwt-websockets</artifactId>
   <version>1.2</version>
   <scope>provided</scope>
</dependency>

Then you add the following snippet into the .gwt.xml file.

<module rename-to='myapp'>
  ...

  <!-- Enable the websocket library -->
  <inherits name="org.realityforge.gwt.websockets.WebSockets"/>
</module>

Then you can interact with the WebSocket from within the browser.

final WebSocket webSocket = WebSocket.newWebSocketIfSupported();
if ( null != webSocket )
{
  webSocket.setListener( new WebSocketListenerAdapter()
  {
    @Override
    public void onOpen( final WebSocket webSocket )
    {
      // After we have connected we can send
      webSocket.send( "Hello!" );
    }

    @Override
    public void onMessage( final WebSocket webSocket, final String data )
    {
      // After we receive a message back we can close the socket
      webSocket.close();
    }
  } );
  webSocket.connect( "ws://localhost/ws/echo" );
}

This should be sufficient to put together a simple WebSocket application.

A very simple example of this code is available in the gwt-websockets-example project.

TODO

  • Consider supporting a Blob object from the HTML5 File API with send and receive.

Appendix

About

GWT WebSocket Library

License:Apache License 2.0


Languages

Language:Java 96.0%Language:Ruby 4.0%