当前位置: 首页 > article >正文

java使用 TCP 的 Socket API 实现客户端服务器通信

一:什么是 Socket(套接字)

Socket 套接字是由系统提供于网络通信的技术, 是基于 TCP/IP 协议的网络通信的基本操作,要进行网络通信, 需要有一个 socket 对象, 一个 socket 对象对应着一个 socket 文件, 这个文件在 网卡上而不是硬盘上, 所以有了 sokcet 对象才能通过操作内存来操作网卡

二:什么是Socket API?

程序员进行网络编程主要是在 TCP/IP 五层网络模型中的应用层, 而数据在网络上传输, 需要进行封装和分用, 其中应用层需要调用传输层提供的 API , 这一组 API 就被称作 Socket API

三:基于 TCP 协议的 Socket API

TCP 协议是有链接, 面向字节流传输, 主要体现在 : 发送方和接收方在网络通信之间要先建立连接, 并且传输的数据的基本单位是字节

  1. ServerSocket 类
    (1)ServerSocket 类的构造方法
    在这里插入图片描述
    (2)ServerSocket 类的成员方法
    在这里插入图片描述
  2. Socket 类
    Socket 这个类用于客户端, 也可以在服务器与客户端连接之后使用, 无论客户端或服务器使用, 都会保存对端的相关信息
    (1)Socket 类的构造方法
    在这里插入图片描述
    (2)Socket 类的成员方法 :
    在这里插入图片描述
    getInputStream()返回的对象用来输入(读), 从网卡读数据到内存
    getOutputStream返回的对象用来输出(写), 从内存写数据到网卡

四:TCP协议实现网络通信

一定是服务器先启动, 一直等待客户端发来请求, 所以按照时间顺序, 代码逻辑应该如下所示 :
在这里插入图片描述


http://www.kler.cn/a/133699.html

相关文章:

  • vue2.7.14 + vant + vue cli脚手架转vite启动运行问题记录
  • MQTT协议解析 : 物联网领域的最佳选择
  • 【软件工程】一篇入门UML建模图(类图)
  • 【CSS】“flex: 1“有什么用?
  • Unity3D学习FPS游戏(11)敌人AI巡逻(NavMesh)
  • 少儿学习Scratch编程的好处和坏处
  • NSSCTF第12页(3)
  • PS学习笔记——视图调整
  • em/px/rem/vh/vw 的区别?
  • Activiti,Apache camel,Netflex conductor对比,业务选型
  • Page分页records有数据,但是total=0,解决办法
  • 服务器数据恢复—VMware虚拟化下误操作导致服务器崩溃的数据恢复案例
  • 单片机FLASH下载算法的制作
  • vue-pdf在vue框架中的使用
  • 输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
  • Vue 前置 后置 路由守卫 独享 路由权限控制 自定义属性
  • upload-labs(1-17关攻略详解)
  • Typora——优雅的排版也是一种品味
  • PHPhotoLibrary 获取相册权限注意事项
  • 「Verilog学习笔记」用3-8译码器实现全减器
  • 记录基于scapy构造ClientHello报文的尝试
  • 快速入门ESP32——开发环境配置PlatformIO IDE
  • Flutter NestedScrollView 、SliverAppBar全解析,悬浮菜单的应用
  • C#中的string和string builder有什么区别
  • docker 安装mongodb 实现 数据,日志,配置文件外挂
  • 关于我开始热爱生活,也会把该做的做好这件事