黑马程序员JAVA篇--网络编程总结

 

 1. UDP    | 效率高    | 数据传输限制64KB之内  udp的发送端: 1,建立udp的socket服务,创建对象时如果没有明确端口,系统会自动分配一个未被使用的端口。 2,明确要发送的具体数据。 3,将数据封装成了数据包。 4,用socket服务的send方法将数据包发送出去。 5,关闭资源。 import java.net.*; class  UdpSend{     public static voidmain(String[] args)throws Exception { //      1,建立udp的socket服务。         DatagramSocket ds = newDatagramSocket(8888);//指定发送端口,不指定系统会随机分配。 //      2,明确要发送的具体数据。         String text = "udp传输演示 哥们来了";         byte[] buf = text.getBytes(); //      3,将数据封装成了数据包。         DatagramPacket dp = new DatagramPacket(buf, buf.length,InetAddress.getByName("10.1.31.127"),10000); //      4,用socket服务的send方法将数据包发送出去。         ds.send(dp); //      5,关闭资源。         ds.close();     } } udp的接收端: 1,创建udp的socket服务,必须要明确一个端口,作用在于,只有发送到这个端口的数据才是这个接收端可以处理的数据。 2,定义数据包,用于存储接收到数据。 3,通过socket服务的接收方法将收到的数据存储到数据包中。 4,通过数据包的方法获取数据包中的具体数据内容,比如ip、端口、数据等等。 5,关闭资源。 class UdpRece {     public static voidmain(String[] args) throws Exception{ //      1,创建udp的socket服务。         DatagramSocket ds = newDatagramSocket(10000); //      2,定义数据包,用于存储接收到数据。先定义字节数组,数据包会把数据存储到字节数组中。         byte[] buf = new byte[1024];         DatagramPacket dp = newDatagramPacket(buf,buf.length); //      3,通过socket服务的接收方法将收到的数据存储到数据包中。         ds.receive(dp);//该方法是阻塞式方法。 //      4,通过数据包的方法获取数据包中的具体数据内容,比如ip,端口,数据等等。         String ip =dp.getAddress().getHostAddress();         int port = dp.getPort();         String text = newString(dp.getData(),0,dp.getLength());//将字节数组中的有效部分转成字符串。         System.out.println(ip+":"+port+" 面向连接    | 安全行高    | DatagramPacket 数据包,发送封装包,接收要拆包      | getLength 获取字节数组的有效个数      | DatagramSocket 通信端      | send(数据包) 发送数据的      | 案例:多线程的聊天程序

4. TCP中的常用对象    | 构造      | getOutputStream()获取字节输出流,向服务器发送数据      | ServerSocket 服务器      | getInputStream()获取字节输入流,读取客户端发送的数据      | accept() 获取客户端的连接对象

黑马程序员JAVA篇--网络编程总结

上一篇:黑马程序员JAVA基础加强--枚举


下一篇:黑马程序员JAVA篇---IO总结