Java Can';t连接到android上的本地socketIO nodejs服务器
我制作了一个基本的nodejs服务器,当用户连接到该服务器时,控制台会记录日志。我使用socket io进行此操作,因为我想制作一个聊天应用程序。在我的android端,我试图创建一个到本地服务器的连接,但我在尝试时从未获得控制台日志,socket.connected保持为false。在尝试连接时,也永远不会出现错误或其他情况 我试过一些互联网上的例子。我得到了一个例子,删除了我没有使用的所有东西,它仍然有效。我将粘贴从那个示例复制到我自己的项目中,但仍然不起作用。 这是我用过的 这是我的项目代码 节点JS: 安卓:Java Can';t连接到android上的本地socketIO nodejs服务器,java,android,node.js,socket.io,Java,Android,Node.js,Socket.io,我制作了一个基本的nodejs服务器,当用户连接到该服务器时,控制台会记录日志。我使用socket io进行此操作,因为我想制作一个聊天应用程序。在我的android端,我试图创建一个到本地服务器的连接,但我在尝试时从未获得控制台日志,socket.connected保持为false。在尝试连接时,也永远不会出现错误或其他情况 我试过一些互联网上的例子。我得到了一个例子,删除了我没有使用的所有东西,它仍然有效。我将粘贴从那个示例复制到我自己的项目中,但仍然不起作用。 这是我用过的 这是我的项目代
public class MainActivity extends Activity {
private Socket socket;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ChatApplication app = (ChatApplication) getApplication();
socket = app.getSocket();
socket.connect();
}
}
聊天室应用程序类:
public class ChatApplication extends Application {
private Socket mSocket;
{
try {
mSocket = IO.socket("http://192.168.0.109:3000");
} catch (Exception e) {
Log.e("Error", e.toString());
}
}
public Socket getSocket() {
return mSocket;
}
}
Android Studio emulator通常会阻止本地主机连接,我不确定这种情况是否发生在您的案例中,但它发生在我身上。试着在Android Studio中弹出你的
Logcat
,看看你是否能找到表明本地主机连接被拒绝的信息
不确定是否是这样,但你应该检查一下 您是否使用仿真器连接本地主机?。尝试使用IP
10.0.2.2
而不使用emulator。我正在使用自己的android设备连接到套接字时出现了什么错误?
public class ChatApplication extends Application {
private Socket mSocket;
{
try {
mSocket = IO.socket("http://192.168.0.109:3000");
} catch (Exception e) {
Log.e("Error", e.toString());
}
}
public Socket getSocket() {
return mSocket;
}
}