@@ -195,16 +195,51 @@ AsyncHttpClient.getDefaultInstance().execute(post, new StringCallback() {
195195
196196```java
197197AsyncHttpServer server = new AsyncHttpServer();
198+
199+ List<WebSocket> _sockets = new ArrayList<WebSocket>();
200+
198201server.get("/", new HttpServerRequestCallback() {
199202 @Override
200203 public void onRequest(AsyncHttpServerRequest request, AsyncHttpServerResponse response) {
201204 response.send("Hello!!!");
202205 }
203206});
207+
208+ server.websocket("/live", new WebSocketRequestCallback() {
209+ @Override
210+ public void onConnected(final WebSocket webSocket, RequestHeaders headers) {
211+ _sockets.add(webSocket);
212+
213+ //Use this to clean up any references to your websocket
214+ websocket.setClosedCallback(new CompletedCallback() {
215+ @Override
216+ public void onCompleted(Exception ex) {
217+ try {
218+ if (ex != null)
219+ Log.e("WebSocket", "Error");
220+ } finally {
221+ _sockets.remove(webSocket);
222+ }
223+ }
224+ });
225+
226+ webSocket.setStringCallback(new StringCallback() {
227+ @Override
228+ public void onStringAvailable(String s) {
229+ if ("Hello Server".equals(s))
230+ webSocket.send("Welcome Client!");
231+ }
232+ });
233+
234+ }
235+ });
204236// listen on port 5000
205237server.listen(5000);
206238// browsing http://localhost:5000 will return Hello!!!
207- ```
239+
240+ //..Sometime later, broadcast!
241+ for (WebSocket socket : _sockets)
242+ socket.send("Fireball!");
208243
209244### Futures
210245
0 commit comments