• 网络编程入门(上)


    1.网络通信的协议

          TCP/IP协议:分为四层应用层,传输层,网络层,链路层.

              网络层是TCP/IP协议的核心,主要用于将传输的数据进行分组,将分组数据发送到目标计算机或网络

              传输层:使用网络进行通信,可以使用TCP/IP协议,也可以用UDP协议

          UDP协议:

    2.JDK中的API:

          InetAddress:用于封装IP地址的类

                常用方法:static  InetAddress  getByName(String host);//给定主机名确定IP地址

                      static InetAddress  getLocalHost();//返回本地主机

                      String getHostName();//返回IP地址的主机名

                      String getHostAddress();//返回IP地址字符串

          DatagramPacket封装数据,接收的地址和端口

             构造函数

              DatagramPacket(byte[]buf,int length)用来接收长度为length的数据包

              DatagramPacket(byte[]buf,int length,InetAddress address,int port)

                    构造数据报包,将长度为length的包发送到指定主机的指定端口

              方法:

                InetAddress getAddress();//返回发送端IP,接收端使用

                int getPort();//返回发送端端口号,拆包时使用

                byte[]  getData();返回数据缓冲区

                int  getLength();返回数据的长度

            DatagremSocket套接字

                  用来发送DatagremPacket的对象

                构造函数:

                  DatagremSocket();//用于发送端

                  DatagremSocket(int port);//接收端的对象,指定端口监听端口

                 方法:

                   void  receive(DatagremPacket p);//从此套接字接收数据报包

                   void send(DatagremPacket p);//从此套接字发送数据报包

                  

    3.UDP协议:

        UDP协议:是无连接通信协议,即传输数据时,发送端和接收端不需要建立逻辑连接

            消耗资源小,通信率高,用于音频,视频,视频会议.会丢失一部分数据.

    4.TCP协议:

          TCP协议:面向连接的通信协议,能保证数据的安全性.即传输数据前,发送端和接收端需要先建立逻辑连接,然后才能传输数据

        每次连接的创建都需要经过"三次握手".

          第一次握手:客户端向服务端发送连接请求

          第二次握手:服务端回送一个响应,通知客户端收到了连接请求

          第三次握手:客户端再次向服务端发送确认信息,确认连接

  • 相关阅读:
    为什么解析 array_column不可用,
    Android经常使用的布局类整理(一)
    C++ Coding Standard
    Kd-Tree算法原理和开源实现代码
    2013年10月5日国庆上班前一天
    2013年10月5日
    2013年10月3日合肥归来
    国庆第二天参加室友婚礼
    国庆随笔
    2013第40周日国庆放假前一天晚上
  • 原文地址:https://www.cnblogs.com/2nao/p/6443333.html
Copyright © 2020-2023  润新知