Поэтому у меня есть следующий Senario:JAVA толкач струнные соединения
У меня есть браузер, который будет выступать в качестве моего толкателя сервера, моего мобильного приложения в качестве клиента.
Теперь я хочу связать браузер с телефоном и подключить их к тому же каналу, который динамически составлен браузером, который отправит сообщение на мое устройство и сообщит ему о подключении к X-каналу. Теперь я застрял в разделе приложения о том, как подключить устройство к каналу, переданному через Pusher.
Я следующий код в Java:
public void openPusherListener() {
//default settings for pusher
PusherOptions options = new PusherOptions().setCluster("eu");
final Pusher pusher = new Pusher(API_KEY, options);
pusher.connect(new ConnectionEventListener() {
@Override
public void onConnectionStateChange(ConnectionStateChange change) {
String socketId = pusher.getConnection().getSocketId();
Log.d("socketID", socketId);
}
@Override
public void onError(String message, String code, Exception e) {
System.out.println("There was a problem connecting!");
}
}, ConnectionState.CONNECTED);
Channel channel = pusher.subscribe("waitlist");//Default channel to join
channel.bind("test", new SubscriptionEventListener() {
@Override
public void onEvent(String channelName, String eventName, final String data) {
Gson gson = new Gson();
JsonObject mydata = gson.fromJson(data, JsonObject.class);
Log.d("PUSHER - channel", String.valueOf(mydata.get("channel")));
String myChannel = String.valueOf(mydata.get("channel")).replace('"', ' ');
Log.d("TEST MYCHANNEL", String.valueOf(mydata.get("channel")));
Channel channel = pusher.subscribe(myChannel);//This doesnt work.
channel.bind("test2", new SubscriptionEventListener() {
@Override
public void onEvent(String channelName, String eventName, final String data) {
Gson gson = new Gson();
JsonObject mydata = gson.fromJson(data, JsonObject.class);
Log.d("TEST2 PUSHER", String.valueOf(mydata.get("joinChannel")));
}
});
}
});
pusher.connect();
}
К сожалению, присоединение 2-й канал не работает, я получаю следующее сообщение об ошибке:
I/System.out: There was a problem connecting!
На толкателя можно увидеть следующее :
Invalid channel name ' test2 ' (bad chars)
Теперь я считаю, что мне нужно найти способ подключения к каналу без отправки q Уотс к нему, так что мне было интересно, как я могу это достичь?