我已经为此苦苦挣扎了一段时间。我只是想尝试在我的 Android 应用程序和 PC 上的 Java 程序之间创建一个套接字连接。
我都尝试过 UDP 和 TCP 套接字以及不同类型的 IP 和端口号。
那么,我该如何实现呢?
这是我的(当前代码)与(尝试的)TCP 连接:
来自服务器端的代码 fragment (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();
}
以及来 self 的 Android 应用程序(客户端)的相关 fragment :
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 等等。
如果有人能帮助我,我将不胜感激!
最佳答案
我刚刚在 Android 和桌面应用程序中创建了简单的演示,它通过套接字连接连接,就像聊天应用程序一样。可能会对你有很大帮助。 请查看以下链接以获得更多说明。
关于java - 在android设备和pc(同一网络)之间使用套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21628146/