私は数日間、Androidでsocket.ioを使用して作業しています。現在、Koush の AndroidAsync を使用しています。ローカルの socket.io サーバー ( http://192.168.2.1:3000
) に接続しようとすると、すべて問題なく、コマンドを発行してイベント メッセージを受信できます。しかし、クエリ文字列パラメーター () を使用してライブ サーバーに使用しようとすると、http://api.mysite.com:8000/socket.io/1?v=1&name=xxx&password=xxx
接続できません。クエリ文字列パラメーターを AndroidAsync socket.io に渡す適切な方法はありますか? これが私のコードです。
Uri.Builder b = Uri.parse("http://api.mysite.com:8000/socket.io/1").buildUpon();
b.appendQueryParameter("v", "1");
b.appendQueryParameter("name", "xxx");
b.appendQueryParameter("pass", "xxx");
myUrl = b.build().toString();
AsyncHttpClient.getDefaultInstance().getString(myUrl, new AsyncHttpClient.StringCallback() {
@Override
public void onCompleted(Exception arg0, AsyncHttpResponse arg1, String arg2) {
// TODO Auto-generated method stub
}
@Override
public void onConnect(AsyncHttpResponse response) {
// TODO Auto-generated method stub
super.onConnect(response);
Log.d("tag","onConnect!");
}
@Override
public void onProgress(AsyncHttpResponse response, int downloaded,
int total) {
// TODO Auto-generated method stub
super.onProgress(response, downloaded, total);
Log.d("tag","Progress!");
}
});
SocketIOClient.connect(AsyncHttpClient.getDefaultInstance(), myUrl, new ConnectCallback() {
@Override
public void onConnectCompleted(Exception arg0, SocketIOClient client) {
// TODO Auto-generated method stub
if (client.isConnected()) {
Log.d("tag","!");
} else {
Log.d("tag","?");
}
}
});