我正在测试Android和我的笔记本电脑之间的通信。
我有一个Lan连接,我通过笔记本电脑WiFi共享互联网
现在我在笔记本电脑上使用代码
创建了一个服务器 public void run()
{
try {
server_soc = new ServerSocket(1234);
display.append("Server Started on port : " + server_soc);
display.append("\nWaiting for client to connect ");
while(true){
cli=server_soc.accept();
display.append("\nClient connected ");
Accept_Client accept_client=new Accept_Client(cli);
accept_client.start();
}
服务器成功启动。
我必须将android客户端(android 4.0.4)连接到此服务器。我无法连接到此服务器。用于连接此服务器的IP应该是什么?
客户端(android)代码:
Connect.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
try {
Server = new Socket("10.0.2.2",1234);
Server_Msg.setText("connected to Server ");
} catch (Exception e) {
e.printStackTrace();
}
}
});
我尝试了所有的IP:192.168.137.1,123.238.143.130 什么应该是IP?
我甚至在我的无线路由器中设置了端口转发功能。我需要在防火墙中做任何事情吗?请提出建议!
答案 0 :(得分:0)
要从localhost
上的模拟器连接到WiFi服务器,请使用IP 10.0.2.2
要从Android设备连接到您在自己的网络上运行的服务器,请使用Wifi服务器的IP。
确保在Android Manifest文件中设置了Internet权限: 作为节点的子节点,插入:
<uses-permission android:name="android.permission.INTERNET" />
答案 1 :(得分:0)
如果服务器客户端系统使用真正的Android设备,您只需确保您正在侦听的端口已添加到防火墙中。
服务器将侦听该端口,并且将连接来自任何IP的该端口上的所有连接。