[英]not connecting in android with socket.io
我正在嘗試連接到我的Android應用程序中的node.js服務器。 我只能在我的應用程序中連接到網絡上的服務器 。 我想這意味着服務器可以正常工作。
我用express框架創建了服務器。 這是我的package.json
{
"name": "rt",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.17.1",
"cookie-parser": "~1.4.3",
"debug": "~2.6.3",
"express": "~4.15.2",
"fs": "0.0.1-security",
"jade": "~1.11.0",
"morgan": "~1.8.1",
"oracledb": "^1.13.1",
"serve-favicon": "~2.4.2",
"socket.io": "^1.7.4"
}}
這是我的客戶代碼。
private static final String TAG = "MainActivity";
private Socket socket;
{
try{
socket = IO.socket("http://210.123.255.155:55555");
}catch(Exception e){
Log.e(TAG, e.toString());
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
socket.connect();
Log.d(TAG, "" + socket.connected());
}
我嘗試了3個庫。
當然,我更改了每個庫的mainActivity代碼。
所有三個都不起作用。 我的logcat總是說
D/mainActivity: false
並沒有任何錯誤。
對這個問題有什么想法嗎?
上新課並隨心所欲命名
public class ChatApplication {
private Socket mSocket;
{
try {
mSocket = IO.socket(SERVER_URL);
} catch (URISyntaxException e) {
throw new RuntimeException(e);
}
}
public Socket getSocket() {
return mSocket;
}
}
在您的MainActivity中
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
ChatApplication app = new ChatApplication();
mSocket = app.getSocket();
mSocket.on(Socket.EVENT_CONNECT_ERROR, onConnectError);
mSocket.on(Socket.EVENT_CONNECT_TIMEOUT, onConnectError);
mSocket.on(Socket.EVENT_CONNECT, onConnect);
mSocket.on(Socket.EVENT_DISCONNECT, onDisconnect);
mSocket.connect();
}
public Emitter.Listener onConnect = new Emitter.Listener() {
@Override
public void call(Object... args) {
Log.d(TAG, "Socket Connected!");
}
};
private Emitter.Listener onConnectError = new Emitter.Listener() {
@Override
public void call(Object... args) {
runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
}
};
private Emitter.Listener onDisconnect = new Emitter.Listener() {
@Override
public void call(Object... args) {
runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.