Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Node.js Socket.io始终连接成功_Android_Node.js_Socket.io - Fatal编程技术网

Android Node.js Socket.io始终连接成功

Android Node.js Socket.io始终连接成功,android,node.js,socket.io,Android,Node.js,Socket.io,我想使用Socket.io在pc和Android之间进行通信。代码: 当我调试应用程序时;服务器应用程序虽然已关闭,但客户端表示已成功连接。当我打开服务器应用程序时,服务器应用程序看不到客户端。正如@Patosai所指出的,您的代码的问题是您正在连接到localhost:3000。这意味着您正试图连接到运行应用程序的设备(Android手机或模拟器)。这将始终表示它已连接,因为设备始终可以与其自身连接 假设您与电脑连接到同一网络,则需要查找电脑的IP地址和选择的通讯端口。例如,如果您确定您的电

我想使用Socket.io在pc和Android之间进行通信。代码:


当我调试应用程序时;服务器应用程序虽然已关闭,但客户端表示已成功连接。当我打开服务器应用程序时,服务器应用程序看不到客户端。

正如@Patosai所指出的,您的代码的问题是您正在连接到
localhost:3000
。这意味着您正试图连接到运行应用程序的设备(Android手机或模拟器)。这将始终表示它已连接,因为设备始终可以与其自身连接


假设您与电脑连接到同一网络,则需要查找电脑的IP地址和选择的通讯端口。例如,如果您确定您的电脑的IP为
123.456.2.1
,并且Socket.IO代码中的端口为
4000
,您将写入
mSocket=IO.Socket(“http://123.456.2.1:4000“

但您正在连接到Android设备上的
localhost:3000
,这将是在Android设备上的某个地方,就像一切都在按预期工作一样。你们的问题是什么?因为我在pc上使用android emulator.@PatosaiAnd我试过了“,但还是一样。我解决了问题;mSocket.on(Socket.EVENT\u CONNECT\u ERROR,onconnector);谢谢大家。
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");
    }

}