【发布时间】:2017-06-17 01:09:28
【问题描述】:
我正在尝试在我的 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 个库。
- com.github.nkzawa:socket.io-client:0.3.0
- io.socket:socket.io-client:0.8.3
- io.socket:engine.io-client:0.8.3
当然,我更改了每个库的 mainActivity 代码。
其中三个不工作。
我的 logcat 总是说
D/mainActivity: false
没有任何错误。
对这个问题有什么想法吗?
【问题讨论】:
-
try{ socket = IO.socket("210.123.255.155:55555"); socket.connect(); Log.d(TAG, "" + socket.connected()); }catch(异常e) { Log.e(TAG, e.toString()); }
-
@Divyesh Patel 我的代码有什么不同?
-
@MilosLulic 我已经按照博客上的说明进行操作了。