繁体   English   中英

Android Node.js Socket.io 总是连接成功

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM