inetAddress(ip地址)
// 获取InetAddress的对象
InetAddress address = InetAddress.getByName("192.168.56.1");
// 获取主机名
String name = address.getHostName();
System.out.println(name);
// 获取ip地址
String hostAddress = address.getHostAddress();
System.out.println(hostAddress);
UDP
MulticastSocket // 组播发送,组播地址
DatagramSocket // 单播发送,IP地址(255.255.2555)广播地址
发送数据:
// 单播
DatagramSocket ds = new DatagramSocket();
String data = sc.nextLine();
byte[] bytes = data.getBytes();
InetAddress ip = InetAddress.getByName("127.0.0.1");
DatagramPacket packet = new DatagramPacket(bytes,bytes.length,ip,4545);
ds.send(packet);
ds.close();
接受数据
DatagramSocket ds = new DatagramSocket(4545);
bytes = new byte[1024];
DatagramPacket packet = new DatagramPacket(bytes,bytes.length);
ds.receive(packet);
String s = new String(packet.getData(),0,packet.getLength());
System.out.println(packet.getAddress()+":"+packet.getPort()+"给你发来消息:"+s);
ds.close();
TCP
Socket socket = new Socket("127.0.0.1", 4545);
OutputStreamWriter osw = new OutputStreamWriter(socket.getOutputStream());
osw.write("你好");
osw.close();
socket.close();
ServerSocket ssockte = new ServerSocket(4545);
InputStreamReader isw = new InputStreamReader(ssockte.accept().getInputStream());
int b;
while ((b=isw.read())!=-1){
System.out.print((char) b);
}
isw.close();
ssockte.close();