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