try { InetAddress ia = InetAddress.getByName("www.baidu.com"); InetAddress myHost = InetAddress.getLocalHost(); System.out.println(myHost); // 连带主机名与ip System.out.println("---------"); System.out.println(ia.getHostAddress()); // 获取ip地址 System.out.println(ia.getCanonicalHostName()); // 获取规范的名字 System.out.println(ia.getHostName()); } catch (UnknownHostException e) { e.printStackTrace(); }
output:
LAPTOP-K7UPH2AE/192.168.0.102 --------- 110.242.68.3 110.242.68.3 www.baidu.com
public static void main(String[] args) { InetSocketAddress isa = new InetSocketAddress("www.baidu.com", 3306); InetAddress address = isa.getAddress(); System.out.println(address); System.out.println(isa.getHostName()); System.out.println(isa.getPort()); }
output:
www.baidu.com/110.242.68.3 www.baidu.com 3306
客户端:
public static void main(String[] args) throws Exception { InetAddress ip = InetAddress.getByName("localhost"); Socket socket = new Socket(ip, 9999); OutputStream os = socket.getOutputStream(); os.write("你好,我叫王一赫,我们可以交个朋友吗?".getBytes()); os.close(); socket.close(); }
服务端:
public static void main(String[] args) throws IOException { ServerSocket server = new ServerSocket(9999); Socket accept = server.accept(); InputStream is = accept.getInputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len; while ((len = is.read(buffer)) != -1) { baos.write(buffer, 0, len); } System.out.println(baos); baos.close(); is.close(); accept.close(); server.close(); }
客户端
{ Socket socket = new Socket(InetAddress.getByName("localhost"), 9000); OutputStream os = socket.getOutputStream(); FileInputStream fis = new FileInputStream("2.jpg"); byte[] buffer = new byte[1024]; int len; while ((len = fis.read(buffer)) != -1) { os.write(buffer, 0, len); } socket.shutdownOutput(); InputStream is = socket.getInputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); while ((len = is.read(buffer)) != -1) { baos.write(buffer, 0, len); } System.out.println(baos); baos.close(); is.close(); fis.close(); os.close(); socket.close(); }
服务端
{ ServerSocket server = new ServerSocket(9000); Socket accept = server.accept(); InputStream is = accept.getInputStream(); FileOutputStream fos = new FileOutputStream("out.jpg"); byte[] buffer = new byte[1024]; int len; while ((len = is.read(buffer)) != -1) { fos.write(buffer, 0, len); } OutputStream os = accept.getOutputStream(); os.write("我接受到了".getBytes()); os.close(); fos.close(); is.close(); accept.close(); server.close(); }
接收端
{ public static void main(String[] args) throws Exception { DatagramSocket socket = new DatagramSocket(9900); byte[] data = new byte[1024]; DatagramPacket packet = new DatagramPacket(data, 0, data.length); socket.receive(packet); System.out.println(packet.getAddress()); System.out.println(new String(packet.getData(), 0, packet.getLength())); socket.close(); } }
发送端
{ public static void main(String[] args) throws Exception { DatagramSocket socket = new DatagramSocket(); String data = "你好,接收端"; DatagramPacket packet = new DatagramPacket(data.getBytes(), 0, data.getBytes().length, InetAddress.getByName("localhost"), 9900); socket.send(packet); socket.close(); } }