Java网络多线程——TCP编程

      最后更新:2022-07-19 14:45:53 手机定位技术交流文章

      网络相关概念

      网络通信

      1. 概念: 通过网络实现两个设备之间的数据传输.
      2. 网络通信: 通过网络从一个设备传输数据到另一个设备.
      3. java.net包下提供了一系列的类或接口,供程序员使用,完成网络通信。

      网络

      1. 概念: 两个或多个设备通过某些物理设备连接形成一个网络.
      2. 根据网络的覆盖范围,这些网络被分类为:
        • LAN: 最小的覆盖面积, 只覆盖一个教室或一张桌子.
        • 城市网络: 网络覆盖一个大面积,可以覆盖一个城市.
        • 宽带: 最大覆盖范围, 可以覆盖整个国家, 甚至全球, 通用网络是宽带网络的代表.

      ip地址

      1. 概念:用于识别网络中的每个计算机/主机。
      2. 查看IP地址:ipconfig
      3. ip地址的表示形式是十进制点xx.xx.xx.xx
      4. 每十行提交范围:0~255
      5. ip地址的组成=网络地址+主机地址,比如:192.168.0.30
      6. ipv6是下一代IP协议,由互联网工程工作队设计,以取代IPv4,用一个地址号码,可以分配给世界上每一个沙粒。
      7. 因为iPV4的最大问题是网络上的地址资源有限,严重限制了互联网的应用和开发。 IPV6的使用不仅解决了网络地址资源的数量问题,而且解决了各种访问设备连接到互联网的障碍。

      域名

      1. 概念: 将IP地址映射到域名.
      2. 利点: 为了使记忆更加容易, 解决了记忆IP的困难.

      端口号

      1. 概念: 在计算机上识别特定网络程序.
      2. 表达式格式:整数格式,范围0~65535
      3. 0~1024已经被占用,例如 ssh 22,ftp 21,smtp25,http80
      4. 一般网络程序端口号:
        + tomcat:8080
        + MySQL:3306
        + Oracle:1521
        + sqlserver:1433

      网络通信协议

      协议(tcp/ip)

      TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文翻译叫做传输控制协议/互联网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际网络互连网络的基础,简单来说,它由一个带有网络层的IP协议和带有传输层的TCP协议组成。

      TCP 协议

      1. 在使用TCP协议之前,必须建立一个TCP连接以形成数据通道。
      2. 在传染前,使用“三手”方法是可靠的。
      3. TCP协议通信有两个应用程序:客户端和服务端。
      4. 大量数据可以在连接中传输。
      5. 当传输完成时,它需要释放已建立的连接,这是低效率的。

      UDP协议

      1. 将数据、源和目标包封入数据包中,而不创建连接。
      2. 每个数据报告的大小限制为64k
      3. 这是不可靠的,因为没有连接
      4. 数据发送结束时不需要释放资源(因为它不是面向连接的),并且是快速的。

      InetAddress类

      相关方法

      1. 获取原生InetAddress对象 getLocalHost
      2. 根据指定的 hostname/domain name 获取ip对象
      3. 获取InetAddress对象的主机getHostName
      4. 获取InetAddress对象的地址getHostAddress

      Socket

      基本介绍

      1. 套接字(Socket)开发网络应用程序被广泛使用,以至于成为事实上的标准。
      2. 通信的两端都必须有一个插座,这是两台机器之间的通信的终点。
      3. 网络通信实际上是接口之间的通信.
      4. 插座允许程序将网络当作流,数据通过IO在两个插座之间传输。
      5. 通常主动启动通信的应用程序属于客户端,等待通信请求被服务。
        在这里插入图片描述
        当主机/客户端启动连接时,接口被调用。getOutPutStream()输出调用接口到主机/服务端的数据。getInPutStream()接受数据,反之亦然。

      TCP网络通信编程

      基本介绍

      1. 基于客户服务端的网络通信.
      2. 下层使用TCP/IP协议
      3. 应用程序场景例: 客户端发送数据, 服务端接受和显示.
      4. 基于索克的TCP编程

      TCP编程

      • 字节流
      1. 写服务器端和客户端
      2. 在99端口结束服务器的监视
      3. 客户端连接到服务器端,发送“hello, server",并接收服务器端回发的"hello,client".再退出
      4. 服务器接收到发送给客户端的消息,输出它,然后发送“你好,客户端”,然后退出
      • 字符流

      TCP编程中的插座可以使用 getOutputStream( ) 和 getInputStream( ) 转换字节流到字符流。

      1. 写服务端和客户端
      2. 服务端监视99端口
      3. 客户端连接到服务端,发送"hello, server",并接收服务端回发的"hello,client",再退出
      4. 服务器接收到发送给客户端的消息,输出它,然后发送“你好,客户端”,然后退出
      • 传文件

      Netstat指令

      1. netstat -an可以查看当前的主机网络状态,包括端口监控状态和网络连接状态。
      2. netstat -an | 可以单独显示
      3. 需要在DOS控制下执行win+R
        • 倾听表明一个端口正在倾听
        • 如果外部程序(客户端)连接到端口,则显示连接信息。
        • 你可以输入 Ctrl+C退出命令。
          dos界面

      TCP网络通讯细节

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

          热门文章

          文章分类