A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

本帖最后由 小石姐姐 于 2018-4-24 17:11 编辑

                                       就业班_JavaSE_day12_网络编程
网络编程三要素
      一 传输协议  TCP和UDP
           UDP (无连接,数据大小限制64K ,不安全,丢包不重发,应用于实时要求高的场景)
           发送端
            DatagramSocket对象创建  无参数构造 new DatagramSocket()
            DatagramPacket对象创建   new DatagramPacket(byte[] bys, int length, InetAddress ip, int port)
            DatagramSocket.send(DatagramPacket)
            DatagramSocket.close()
            接收端
            DatagramSocket对象创建  带参数构造  new DatagramSocket(int port)
            DatagramPacket对象创建  new DatagramPacket(byte[] bys, int length) bys是空数组用来接受。
            DatagramSocket.receive(DatagramPacket) 启动接受,该方法阻塞。
            DatagramSocket.close()
            DatagramPacket类常用方法
            int getLength() 返回接受的数据长度。
            byte[] getData() 返回接受的data数据
            InetAddress getAddress() 返回发送方IP地址
            
           TCP(有链接,数据大小无限制,安全,丢包有重发机制)
            服务器端
            ServerSocket对象创建    new Serve日Socket(int port)
            ServerSocket.accept()    启动监听,该方法阻塞。客户端连接后,返回一个Socket对象来与客户端交互。
            
            客户端
            Socket对象创建    new Socket(String 服务器ip , int port)
            
            Socket常用方法:
            getOutputStream()
            getInputStream()
            
            注意 readline接受一行,必须换行,要不一直阻塞等待。写bufferedwriter是一定要记得换行。
            可以用printwriter代替 println 该方法自动换行了。
            socket.close()方法自带了关闭输入输出流的功能,所以不用单独关闭IO流。
            
      二 IP  (用InetAddress类的对象表示)
          获得本地IP地址对象  InetAddress.getLocalHost()
          获得指定IP地址的对象   InetAddress.getByName("192.168.15.34")
      
          创建IP对象后 有二个常用方法:
          ip.getHostName(); 获取到主机名。
          ip.getHostAddress();获取到IP地址。 192.168.15.34
      
      
       三 端口  (0-65535)   
           端口用来区分不同的应用,一个应用可能占用一个或多个端口。

您需要登录后才可以回帖 登录 | 加入黑马