我一直在努力解决这个问题。我只是想做的,就是在我的Android应用程序和我在PC上的java程序之间创建套接字连接。
我已经尝试了UDP和TCP套接字以及不同类型的IP和端口号。
那么,我怎样才能做到这一点?
这是我的(当前代码)与(尝试)TCP连接:
来自服务器端的代码片段(PC java程序):
try {
DatagramSocket socket = new DatagramSocket(4466);
byte[] buffer = new byte[2048];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
来自我的Android应用程序(客户端)的相关剪辑:
try {
InetAddress host = InetAddress.getByName("192.168.1.255");
DatagramSocket socket = new DatagramSocket (null);
byte[] buffer = new byte[2048];
buffer = "hej hej".getBytes();
DatagramPacket packet=new DatagramPacket (buffer, buffer.length, host, 4466);
socket.send(packet);
socket.close();
} catch(Exception e) {
e.printStackTrace();
}
IP地址:192.168.1.255应该是某种广播IP。但我也尝试过不同的IP,例如我的PC的IP(在Android应用程序中硬编码),255.255.255.0,localhost等等。
如果有人能帮帮我,我真的很感激!
答案 0 :(得分:4)
我刚刚在Android和桌面应用程序中创建了简单的演示,它通过Socket Connection连接,就像聊天应用程序一样。可能会对你有很大的帮助。 请查看以下链接以获得更多说明。
答案 1 :(得分:1)
您需要计算机的公共地址(搜索类似我的IP的内容),并确保没有防火墙阻止该端口。 192.168。***。*地址不公开(它是一个LAN地址),模拟器(或实际的手机)将无法看到它。