Meetup RSVP web socket streaming - Disconnect issue

58 views
Skip to first unread message

Amjath Sharief

unread,
Jul 17, 2016, 3:47:46 PM7/17/16
to Meetup API
Whenever i try to connect to the following web socket url from Java program, it opens the connection and then automatically gets disconnected. Why? Tried with 2 java websocket client libraries and same result in both of them. It only goes upto onOpen() method and gets disconnected without any errors or stacktrace. 

Code example used:

Library 1:

package in.amjathsharief.api.meetup.rsvp.websockets;

import java.net.URI;
import java.net.URISyntaxException;
import java.util.logging.Logger;

import javax.websocket.ClientEndpoint;
import javax.websocket.CloseReason;
import javax.websocket.DeploymentException;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;

import org.glassfish.tyrus.client.ClientManager;

@ClientEndpoint
public class Test {
private Logger logger = Logger.getLogger(this.getClass().getName());

@OnOpen
public void onOpen(Session session) {
logger.info("Connected ... " + session.getId());
}

@OnMessage
public String onMessage(String message, Session session) {
logger.info("Received ...." + message);
return message;
}

@OnClose
public void onClose(Session session, CloseReason closeReason) {
logger.info(String.format("Session %s close because of %s",
session.getId(), closeReason));
}

public static void main(String[] args) {

ClientManager client = ClientManager.createClient();
try {
client.connectToServer(Test.class, new URI(
} catch (DeploymentException | URISyntaxException e) {
throw new RuntimeException(e);
}
}

}


Library 2:

package in.amjathsharief.api.meetup.rsvp.websockets;

import java.io.IOException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;

import org.asynchttpclient.AsyncHttpClient;
import org.asynchttpclient.ws.WebSocket;
import org.asynchttpclient.ws.WebSocketTextListener;
import org.asynchttpclient.ws.WebSocketUpgradeHandler;

import static org.asynchttpclient.Dsl.asyncHttpClient;

public class MeetupRsvpWebsocketsApiTest {

public static void main(String[] args) {
AsyncHttpClient asyncHttpClient = asyncHttpClient();
WebSocket websocket = null;
try {
websocket = asyncHttpClient
.prepareGet("ws://stream.meetup.com/2/rsvps")
.execute(
new WebSocketUpgradeHandler.Builder()
.addWebSocketListener(
new WebSocketTextListener() {
public void onClose(
WebSocket arg0) {
// TODO Auto-generated method stub
System.out
.println("on close");
}

public void onError(
Throwable arg0) {
// TODO Auto-generated method stub
System.out
.println("on error");
}

public void onOpen(
WebSocket arg0) {
// TODO Auto-generated method stub
System.out
.println("on open");
}

public void onMessage(
String arg0) {
// TODO Auto-generated method stub
System.out
.println("test");
System.out
.println(arg0);
}
}).build()).get(180, TimeUnit.SECONDS);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
} catch (Throwable e) {
e.printStackTrace();
}finally {
try {
websocket.close();
asyncHttpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

}
Reply all
Reply to author
Forward
0 new messages