我已经为此苦了一段时间了。我只是想做的是在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等。
如果有人可以帮助我,我将不胜感激!
您需要计算机的公共地址(搜索类似我的IP的地址),并确保没有防火墙阻止该端口。192.168。***。*地址不是公开的(这是一个LAN地址),而仿真器(或实际的电话)将看不到它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句