1、什么是socket

Socket是应用层与TCP/IP协议族通信的中间抽象层,它是一组接口,应用层通过调用这些接口实现发送和接收数据。一般这种抽象层由操作系统提供或者由JVM自己实现。使用socket可以简单地实现应用程序在网络上得通信,一台机器上的应用想socket写入信息,另外一台相连的机器能读取到。TCP/IP协议族中分两种socket类型,分别是流套接字和数据报套接字,分别对应TCP协议和UDP协议。一个TCP/IP套接字由一个互联网地址,一个协议及一个端口号唯一确定。
如图2-3-1,socket抽象层在传输层与应用层之间,增加这一层是很有必要跟有用的,它类似于设计模式中的门面模式,用户没必要知道和处理复杂的TCP/IP协议族业务逻辑的细节,这时socket就展现出它的优势了,它把这些复杂处理都隐藏在socket接口下面,它帮助用户解析组织TCP/IP协议族报文数据,以符合TCP/IP协议族,这样用户只要简单调用接口即可实现数据的通信操作。
 
图2-3-1 socket抽象层

2、Java中socket
上面了解了什么是socket,那么socket在Java中又是怎样的?Java为TCP协议提供了两个类,分别为Socket和ServerSocket,一个代表客户端,一个代表服务器端。通过操作这两个类即可实现TCP协议通信。而对于U

socket系列之什么是socket相关推荐

  1. C# Socket系列二 简单的创建 socket 通信

    看了系列一 我们开启了对socket tcp的监听状态,那么这一章我们来讲解怎么创建socket的通信代码 我新建一个类 TSocketBase public abstract class TSock ...

  2. 三菱Q系列PLC编程TCP Socket套接字程序

    三菱Q系列PLC编程TCP Socket套接字程序 用于和上位机通讯 支持掉线自动后自动重连 附详细注释和指令说明! 编号:969665940010231沉默物语

  3. C# Socket系列一 简单的创建socket的监听

    socket的应用场景,在快速,稳定,保持长连接的数据传输代码.Http也是socket封装出来的,基于一次请求一次回复,然后断开的socket连接封装. 比如我们常见的游戏服务器,目前的很火的物联网 ...

  4. (Java)socket网络编程及处理socket粘包拆包问题

    目录 1.socket简介 2.TCP/IP协议 3.tcp三次握手 4.socket的一些接口函数原理 5.java socket 长连接粘包拆包问题 6.socket模拟服务端客户端发消息 7.U ...

  5. 2-3 建立简易TCP服务端、客户端【socket server/client】【socket、bind、listen、accept、send、closesocket】【conect、recv】

    2-3 建立简易TCP服务端.客户端 文章目录 2-3 建立简易TCP服务端.客户端 0-前言 1-服务端简易功能 2-客户端简易功能 3-代码逻辑 4-服务端 4-1 建立socket 4-2 绑定 ...

  6. 老雷socket编程之PHP利用socket扩展实现聊天服务

    老雷socket编程之PHP利用socket扩展实现聊天服务 socket聊天服务原理 PHP有两个socket的扩展 sockets和streams sockets socket_create(AF ...

  7. python3模块socket怎么安装_Python中socket模块的使用方法(一)

    socket(中文名称:套接字)是应用层与传输层(TCP/UDP协议)的接口.是对TCP/IP的封装.是操作系统的通信机制.应用程序通过socket进行网络数据的传输.Python中的socket是我 ...

  8. android socket io和服务器_Java socket通讯服务器和客户端教学版

    什么是socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API), ...

  9. C语言socket bind()函数(为socket套接字关联了一个相应的地址与端口号)

    #include <sys/socket.h>int bind(int socket, const struct sockaddr *address, socklen_t address_ ...

最新文章

  1. 如何查java当前负载_Linux查看机器负载
  2. png图片压缩原理解析
  3. 机器人焊枪动作与编程实验_机器人编程实验报告.pdf
  4. Python的定义编码以及注释等
  5. Java 12:使用开关表达式进行映射
  6. Vue基础之Vue模板语法
  7. 分布式6大核心专题_分布式ID
  8. 快、准、狠!秒杀Excel的报表工具,十分钟教你做好数据填报
  9. js操作checkbox(复选框)的方法总结
  10. 信捷PLC Modbus通讯 (Modbus_TCP与Modbus_RTU)
  11. 如果你的下属不服从你得管理,你会怎么办?
  12. 计算机硬盘能改成移动硬盘,旧硬盘怎么改装成移动硬盘
  13. 如何使用计算机求和公式,excel求和公式怎么用
  14. 2022最新QQ协议登陆,QQ密码加密源代码
  15. 蒙特卡罗法(Python实现)
  16. 辽宁大连IPv6高校
  17. 年轻人的第一个开发板——树莓派
  18. [Unity3d] [图文]【寻路】 Waypoint 与 NavMesh 比较(转)
  19. 如何解决——打印出的纸张黑底白字?
  20. 压网线教程图解(做水晶头)

热门文章

  1. 传统产业数字化转型四个发展阶段
  2. WEB——Request与Response
  3. NanoPC-T4|Android-Q 色温调节
  4. UE4 Matinee制作相机动画及其蓝图播放(UE4.11和UE4.19测试通过)
  5. USB之Cyusb3014芯片原理之四控制传输实现原理(十二) 2022-04-01
  6. 面试时Dubbo原理记不住?来看看《Dubbo原理浅析——从RPC本质看Dubbo》
  7. 记一次 Centos7.x Hadoop3.x集群安装部署 Pig 0.17.0
  8. 还在羡慕微信/微博的图片处理?-android酷炫图片处理(下)
  9. Filter_过滤器
  10. 亚马逊和Global Optimism欢迎汉高和昕诺飞加入《气候宣言》