Prebuilt JARs are available from the central Maven repository.
Alternatively, you can get the latest code from Git and build it yourself:
Build is done with make
. On OS-X and Linux this should work out of the box. On Solaris, use gmake
. On Windows you will need Cygwing.
git clone git://github.com/webbit/webbit.git
cd webbit
make
Start a web server on port 8080 and serve some static files:
WebServer webServer = WebServers.createWebServer(8080)
.add(new StaticFileHandler("/web")); // path to web content
.start();
That was easy.
Now let's build a WebSocketHandler.
public class HelloWebSockets extends BaseWebSocketHandler {
private int connectionCount;
public void onOpen(WebSocketConnection connection) {
connection.send("Hello! There are " connectionCount " other connections active");
connectionCount ;
}
public void onClose(WebSocketConnection connection) {
connectionCount--;
}
public void onMessage(WebSocketConnection connection, String message) {
connection.send(message.toUpperCase()); // echo back message in upper case
}
public static void main(String[] args) {
WebServer webServer = WebServers.createWebServer(8080)
.add("/hellowebsocket", new HelloWebSockets())
.add(new StaticFileHandler("/web"));
webServer.start();
System.out.println("Server running at " webServer.getUri());
}
}
And a page that uses the WebSocket (web/index.html)
<html>
<body>
<!-- Send text to websocket -->
<input id="userInput" type="text">
<button onclick="ws.send(document.getElementById('userInput').value)">Send</button>
<!-- Results -->
<div id="message"></div>
<script>
function showMessage(text) {
document.getElementById('message').innerHTML = text;
}
var ws = new WebSocket('ws://' document.location.host '/hellowebsocket');
showMessage('Connecting...');
ws.onopen = function() { showMessage('Connected!'); };
ws.onclose = function() { showMessage('Lost connection'); };
ws.onmessage = function(msg) { showMessage(msg.data); };
</script>
</body>
</html>
- Docs on wiki
- Webbit mailing list
- @webbitserver on Twitter
- A web based chat room is available in the samples directory. To try it out: 'make chatroom'
- Jay Fields has written a WebSockets with Clojure introduction that uses Webbit