我正在尝试将客户端android连接到app服务器java,但没有工作。这是代码:
Android客户端;
_cb_led1.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Socket mySocket = new Socket("127.0.0.1", 9090);
PrintStream p = new PrintStream(mySocket.getOutputStream());
p.println("Mensaje");
}
});
Java Server:
s = new ServerSocket(9090);
sc = s.accept();
System.out.println("Conexión establecida");
b = new BufferedReader( new InputStreamReader ( sc.getInputStream() ) );
while ( true )
{
mensaje = b.readLine();
System.out.println(mensaje);
}
b.close();
sc.close();
s.close();
}
catch (IOException e)
{
System.out.println("No puedo crear el socket");
}
}
任何建议
非常感谢
答案 0 :(得分:1)
127.0.0.1指向模拟器上的localhost。您必须使用计算机的实际IP地址或10.0.2.2,它指向运行模拟器的计算机上的localhost。
答案 1 :(得分:0)
127.0.0.1表示“此机器”。服务器真的在同一个Android设备(或模拟器)上吗?
如果是,为什么还要烦恼套接字?如果不是,请指定一个真实的地址或名称。
从Android模拟器的角度来看,它托管的计算机不是同一台计算机。如果这是服务器运行的位置,请使用其公共IP地址。