Skip to content
This repository has been archived by the owner on Jan 18, 2019. It is now read-only.

Latest commit

 

History

History
40 lines (27 loc) · 1.57 KB

README.org

File metadata and controls

40 lines (27 loc) · 1.57 KB

jWebSocket Core

This is a minimal fork of jWebSocket, a Java WebSocket library. The fork includes only the core server and client components, together with some bug fixes.

Development work on this library was carried out as part of SerenA, an RCUK funded research project, and the code itself was used to build a communication hub facilitating interaction between a backend multiagent-based serendipity/recommendation engine and human users using an Android notebook app.

Testing jWebSocket with Autobahn

Current results [1]

Something like the following should be sufficient to run the Autobahn server tests, assuming you have AutobahnTestSuite installed [2]

$ git clone --recursive github:jamieforth/jwebsocket-core

$ cd jwebsocket-core

$ mvn clean install

$ cd jwebsocket-server

$ mvn -X exec:java -Dexec.mainClass=org.jwebsocket.console.JWebSocketServer -DJWEBSOCKET_HOME=<full-path-to>/jwebsocket-core/jwebsocket-server/src/test/resources/autobahn/

$ wstest -m fuzzingclient -w ws://localhost:8787 -s <full-path-to>/jwebsocket-core/jwebsocket-server/src/test/config/autobahn-test.json

[1] The official jWebSocket code will fail every test, but that is because it expects an origin header field in the client handshake, which should be optional and is not sent by Autobahn.

[2] In Python 2.7.3 I had to hack autobahn/websocket.py because urlparse.uses_query.extend and urlparse.uses_fragment have been removed.