2015-06-12 19 views
0
Pusher pusher = new Pusher(app key); 
String socketId = pusher.getConnection().getSocketId(); 

嘗試連接到推送器時,socketId爲空。推送器連接 - socketId爲空

URI中的推客戶端使用作出的WebSocket調用

ws://ws.pusherapp.com:80/app/{app Key}?client=java-client&protocol=5&version=0.3.3 

這將返回一個NULL套接字ID

但是,如果我使用使用相同的URI測試客戶端進行WebSocket連接,我得到一個有效的socketId。我究竟做錯了什麼?

回答

1

在連接建立之前,socketId將不會被設置。請參閱onConnectionStateChange接口方法在這裏: https://github.com/pusher/pusher-websocket-java#api-overview

這裏有專門更新以獲得socketId代碼:

// Create a new Pusher instance 
Pusher pusher = new Pusher(YOUR_APP_KEY); 

pusher.connect(new ConnectionEventListener() { 
    @Override 
    public void onConnectionStateChange(ConnectionStateChange change) { 
     String socketId = pusher.getConnection().getSocketId(); 
     System.out.printLn("The socketId is: " + socketId); 
    } 

    @Override 
    public void onError(String message, String code, Exception e) { 
     System.out.println("There was a problem connecting!"); 
    } 
}, ConnectionState.Connected);