网络编程(Tcp与Udp编程示例)

      最后更新:2022-04-13 03:20:14 手机定位技术交流文章

      目录

      套接字套接字套接字套接字套接字

      UDP数据套的编程

      1.DatagramSocket API

      构造方法

      方法

      2.DatagramPacket API

      构造方法

      方法

      3.基本使用方法:

      守则:UdeEcho Server(UdeEchoServer)

      UdpEchoCliet 是一个代码示例 。

      使用示例:翻译程序

      TCP流套接字编程

      ServerSocket API

      构造方法

      方法

      Socket API

      构造方法

      方法

      基本使用方法

      服务器

      TcpEchoServer是一个代码示例。

      TcpEchoCliet 是一个代码示例 。

      使用示例:翻译程序

      多线程使用示例:

      线程池使用示例:

      套接字套接字套接字套接字套接字

      Socket是基于该系统提供的用于网络通信的TCP/IP协议的网络通信的基本操作模块。

      网络编程套件是操作系统向应用程序提供的API(有时称为套座API)的集合。

      插座可被视为应用程序与传输层之间的通信联系。

      TCP和UDP是传输层的两项基本议定书。

      Socket API 包含两个匹配组,分为如下:

      TCP:已连接; 可靠的传输; byte 面向流量; 连续

      UDP:没有链接;传输不可靠;需要数据报告;需要全天复入。

      连接 : 例如, 当您使用电话时, 您必须连接到对方的数据 。

      无连接 : 您不需要连接发送电子邮件; 相反, 您可以立即传输数据 。

      可靠传输: 在整个转让过程中,发送者知道接收者没有收到数据。

      不可靠传输: 在整个传送过程中,发送者不知道接收者是否收到了数据。

      面向字节流: 以字节传送( 类似于文件操作' 字节流 )

      面向数据报: 数据报告单位的单一传输/接收(界定数据报告的规模)必须是完整的数据报告,而不是一半或一个半。

      全双工: 一条链路,双向通信

      半双工: 一条链路,单向通信

      UDP数据套的编程

      1.DatagramSocket API

      DatagramSocket API 是一个 UDP 套接字, 允许您传输和接收 UDP 数据 。

      构造方法

      方法签名 方法说明
      DatagramSocket() 为 UDP 数据报告创建套件,并将其与任意的端口(经常用于客户)绑在一起。
      DatagramSocket(int port) a 为 UDP 数据报告构建套件,该套件将与该计算机提供的端口(通常为服务端)连接。

      方法

      方法签名 方法说明

      void

      receive(DatagramPacket  p)

      接受来自该软件包的数据报告(如果数据报告不被接受,这一程序将导致等待被封)。

      void

      send(DatagramPacket  p)

      发送此带的数据报告( 不要等待, 发送直线) 。
      void  close() 关闭此数据报套接字

      2.DatagramPacket API

      DatagramPacket这是一份数据报告,通过UDP Socket传输和收到。

      构造方法

      方法签名 方法说明
      DatagramPacket(byte[] buf, int length) 创建数据组包以接收数据报告、字节数组中的数据(第一个参数bf)和给定长度(第二个参数长度)的数据。
      DatagramPacket(byte[] buf, int offset, int length,SocketAddress address) a 构建数据组包,将数据从 0 传送到给定长度(第二个参数的值) 至字节数组(第一个参数的框)。 地址提供目标主机的 IP 和端口号 。

      方法

      方法签名 方法说明
      InetAddress getAddress() 从收到的数据报告中确定发件人的主机IP地址;或从发送的数据报告中确定收件人的主机IP地址。
      int getPort() 从发件人的主机接收数据报告或发送数据报告从接收客户的端口号获取端口号。
      byte[] getData() 获取数据报中的数据

      必须指出,在创建通过UDP提供的数据时,它需要投入 SocketAddress ,该对象可以使用 InetSocketAddress 来创建。

      InetSocketAddress 的构造方法

      方法签名 方法说明
      InetSocketAddress(InetAddress addr, int port) 使用 IP 地址和端口号创建套接字地址 。

      3.基本使用方法:

      服务端:

      客户端:

      守则:UdeEcho Server(UdeEchoServer)

      UdpEchoCliet 是一个代码示例 。

      使用示例:翻译程序

      TCP流套接字编程

      ServerSocket API

      构造方法

      方法签名 方法说明
      ServerSocket(int port) 构建服务端当前 Socket 并连接到给定端口 。

      方法

      方法签名 方法说明
      Socket accept() 开始监听指定端口( 设置在构建时), 在客户端连接后返回服务器 Socket 对象, 并基于 Socket 建立客户端连接, 其它区块等待 。
      void close() 关闭此套接字

      Socket API

      构造方法

      方法签名 方法说明
      Socket(String host, int port) 建立客户端当前设置套接字, 并使用端口到端口方法连接到 IP 主机 。

      方法

      方法签名 方法说明
      InetAddress getInetAddress() 返回连接到 Socket 的地址。
      InputStream getInputStream() 此软件包的输入流被返回 。
      OutputStream getOutputStream() 返回此软件包的输出流 。

      基本使用方法

      服务器

      客户端:

      TcpEchoServer是一个代码示例。

      TcpEchoCliet 是一个代码示例 。

      使用示例:翻译程序

      多线程使用示例:

      线程池使用示例:

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/22018.html

          热门文章

          文章分类