Socket类关于TCP字符流编程的理解学习

      最后更新:2022-07-29 03:17:23 手机定位技术交流文章

      文章目录

      • 基本介绍
      • 代码实现
        • 需求1:
          • 服务端
          • 客户端
          • 测试结果
        • 需求2
          • 服务端
          • 客户端
          • 测试结果
        • 需求3
          • 服务端
          • 客户端
          • 测试结果
        • 发送图像、视频等文件处理方法
          • 服务端
          • 客户端
      • 总结

      基本介绍

      索克:是通信的基础,它是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中的终端的抽象表现,包括在网络上通信所需的五项信息:连接的协议,本地主机的IP地址,本地进程的协议端口,远程主机的IP地址,远地进程的协议端口

      1. socket是通信的基石,它是支持TCP/IP协议的网络通信的基本操作单元。
      2. 接口是端口、协议和地址的三个组成部分。
      3. 接口之间的连接过程分为三个步骤:服务器监视、客户端请求和连接确认。
      4. 由于通常情况下Socket连接就是TCP连接,因此Socket连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。
      5. 但是在真正的网络应用中,客户端与服务器之间的通信通常需要跨越多个中间节点,例如,路由器, 网络交换器, 防火墙等.大部分防火墙默认会关闭长时间处于非活跃状态的连接而导致Socket 连接断连,因此,必须通过调查向网络提供资料,连接是主动的。
      • 接口主要用于开发网络应用,广泛应用

      • 通信的两端需要有一个插座,这是两台机器的交叉点

      • 网络通信实际上是接口通信

      • 这个插座允许程序作为流连接网络,并且数据通过IO由两个插座之间传输

      • 通常启动通信的应用程序属于客户端,而等待通信请求的应用程序是基于服务的

      示意图:

      image-20220727232736510

      代码实现

      记住,你必须首先打开服务端口,否则在启动客户端时会收到错误报告

      **注意:这里所有的代码例子都是关于发送和接收信息的。如果您需要发送或接收图片等,几乎是一样的,但您必须使用一个字符串而不是一个字符串。

      需求1:

      1. 写服务端和客户端
      2. 服务端监视99端口
      3. 客户端连接到服务器,发送“你好,服务器”,退出
      4. 服务端接收和输出发送给客户端的消息,并退出

      服务端

      客户端

      数据写完后,输出流必须流出(),最后标记必须同时完成

      测试结果

      服务端收到信息

      image-20220727231736859

      需求2

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

      服务端

      数据写完后,输出流必须流出(),最后标记必须同时完成

      客户端

      数据写完后,输出流必须流出(),最后标记必须同时完成

      测试结果

      服务端收到信息

      image-20220727231852931

      客户端收到信息

      image-20220727231909658

      需求3

      使用字符流完成,前两个要求都用节点流完成

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

      服务端

      数据写完后,输出流必须流出(),最后标记必须同时完成

      客户端

      数据写完后,输出流必须流出(),最后标记必须同时完成

      测试结果

      服务端收到信息

      image-20220727231959710

      客户端收到信息

      image-20220727231954226

      发送图像、视频等文件处理方法

      由于它是像图片、视频等文件,所以必须使用字节流来进行传输

      需求:

      1. 写服务端和客户端
      2. 服务端在88端口中收听
      3. 客户端连接到服务端口并发送本地图片
      4. 服务器接收到向客户端发送的图片,保存在src下,向客户端发送“接收图片”,然后退出
      5. 客户端收到由服务端发送的“接收图片”,然后退出

      流程示例:

      1. 客户端使用字输入流输入从磁盘到内存的图像
      2. 客户端使用字输出流输出存储器中的图像到服务端
      3. 服务端通过 word 输入流从客户端的输出流中获取图像
      4. 服务端使用字输出流输出图片到磁盘文件

      服务端

      数据写完后,输出流必须流出(),最后标记必须同时完成

      客户端

      数据写完后,输出流必须流出(),最后标记必须同时完成

      总结

      目前复习java基础复习到了计算机网络阶段,发现自身在网络通信编程这方面的知识较为匮乏,本篇文章用于记载学习java网络编程技术

      另外一个重点!!!!!在使用数据写完后,输出流必须流出(),最后标记必须同时完成,否则可能会报错

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

          热门文章

          文章分类