[英]Android Node.js Socket.io always connecting successful
我想使用 Socket.io 在 pc 和 Android 之间进行通信。 代码:
http://socket.io/blog/native-socket-io-and-android/
public class MainActivity extends ActionBarActivity {
private Boolean socketConnection;
TextView tw;
Socket mSocket;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tw = (TextView)findViewById(R.id.textView);
try {
mSocket = IO.socket("http://localhost:3000");
mSocket.connect();
socketConnection = true;
tw.setText("Yes");
}catch(URISyntaxException ex) {
socketConnection = false;
tw.setText("No");
}
}
当我调试应用程序时; 服务器应用程序虽然关闭,但客户端说连接成功。 当我打开服务器应用程序时,服务器应用程序看不到客户端。
正如@Patosai 所指出的,您的代码的问题在于您正在连接到localhost:3000
。 这意味着您正在尝试连接到运行您的应用程序的设备(Android 手机或模拟器)。 这将始终表示它已连接,因为设备始终可以与自身连接。
假设您与 PC 连接到同一网络,您将需要找到您的 PC 的 IP 地址和您选择用于通信的端口。 例如,如果您确定您的 PC 的 IP 是123.456.2.1
并且您在 Socket.IO 代码中的端口是4000
那么您将编写mSocket = IO.socket("http://123.456.2.1:4000")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.