• 十四、网络通信


    1、局域网(LAN)、广域网(WAN)

    2、网络协议

    (1)IP协议

    TCP/IP模式:一种层次结构,分为4层,应用层、传输层、互联网层和主机到网络层。

    (2)TCP与UDP协议

    TCP、HTTP、FTP、Telent等都需要使用可靠的通信频道。而UDP则适合于一些对数据准确性要求不高的场合(如网络聊天室、在线影片等)。

    (3)端口和套接字

      端口将所有的数据通过“物理连接”对内、外送达特定的计算机。

      套接字(Socket):用于将应用程序与端口连接起来。

    3、TCP程序设计基础

    (1)InetAddress类

      与IP地址相关的类,获取IP地址和主机地址等信息。

      方法:getByName(String host):获取与host相对应的InetAddress对象

         getHostAddress():获取InetAddress对象所含的IP地址

         getHostName():获取此IP地址的主机名

         getLocalHost():返回本地主机的InetAddress对象

    (2)ServerSocket类

      等待来自网络上的请求,通过制定端口来等待连接套接字。服务器套接字一次可以与一个套接字连接,多出来的存入对垒中,队列最大容纳数默认为50。

      ServerSocket类的构造方法都抛出IOException异常。

      1)ServerSocket():创建非绑定服务器套接字。

      2)ServerSocket(int port):创建绑定到特定端口的服务器套接字。

      3)ServerSocket(int port,int backlog):利用制定的backlog创建服务器套接字并将其绑定到制定的本地端口号。

      4)ServerSocket(int port,int backlog,InetAddress bindAddress):使用指定的端口、侦听backlog和要绑定到的本地IP地址创建服务器。

      方法:accept():等待客户机的连接。若连接,则创建一套接字。

         isBound():判断ServerSocket的绑定状态

         getInetAddress():返回此服务器套接字的本地地址。

         isClosed():返回服务器套接字的关闭状态。

         close():关闭服务器套接字

         bind(SocketAddress endpoint):将ServerSocket绑定到特定的地址

         getInetAddress():返回服务器套接字等待的端口号

    (3)TCP网络程序

    4、UDP程序设计基础  

      基本模式:将数据打包,然后将数据包发往目的地

           接收别人发来的数据包,然后查看数据包。

      发送数据包:

      (1)使用DatagramSocket()方法创建一个数据包套接字。

      (2)使用DatagramPacket(byte[] buf,int offset,int length,InetAddress address,int port)方法创建要发送的数据包

      (3)使用DatagramSocket类的send()方法发送数据包

      接收数据包:

      (1)使用DatagramSocket(int port)方法创建数据包套接字,绑定到指定的端口

      (2)使用DatagramSocket(byte[] buf,int length)方法创建字节数组来接收数据包

      (3)使用DatagramPacket类的receive()方法接收UDP包

    (1)DatagramPacket类

      构造方法:DatagramPacket(byte[] buf,int length)

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

    (2)DatagramSocket类

      构造方法:DatagramSocket()

           DatagramSocket(int port)

           DatagramSocket(int port,InetAddress addr)

    (3)UDP网络程序

  • 相关阅读:
    Codeforces Round #450 (Div. 2)
    吉哥系列故事——恨7不成妻(数位DP)
    Codeforces Round #546 (Div. 2)
    Balanced Numbers (数位DP)
    XHXJ's LIS(数位DP)
    Balanced Number(数位DP)
    (2016北京集训十三)【xsy1533】mushroom
    (2016北京集训十三)【xsy1532】网络战争
    (2016北京集训十三)【xsy1531】魔法游戏
    (2016北京集训十二)【xsy1542】疯狂求导
  • 原文地址:https://www.cnblogs.com/yl-saber/p/6017423.html
Copyright © 2020-2023  润新知