[英]AndroidAsync socket.io connection with querystring parameters
我一直在使用socket.io和Android一段時間。 截至目前,我正在使用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","?");
}
}
});
我在他的其他庫android-websockets中發現了同樣的問題。 我幫他修了兩個項目。 查看對AndroidAsync和android-websockets所做的更改。 android-websockets的鏈接詳細描述了這個問題。 我建議你從主分支中提取最新的更改,然后再試一次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.