zoukankan      html  css  js  c++  java
  • 网络编程入门(上)

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

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

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

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

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

  • 相关阅读:
    北科的秋天
    最大子段和问题(dp)
    cmd应用
    问题 H: 抽奖活动(大数)
    大数算法
    模板整理(三)
    在CMD中建立一个不能删除的文件
    波利亚(Polya)罐子模型
    51nod-迷宫问题(Dijkstra算法)
    优先队列
  • 原文地址:https://www.cnblogs.com/2nao/p/6443333.html
Copyright © 2011-2022 走看看