我对socket 和socket 连接的理解

本文详细解释了Socket作为通信工具的抽象概念,包括其在本地通信和远程通信中的作用,以及客户端和服务端的角色和交互流程。同时介绍了Socket连接的生命周期,从建立连接到关闭连接的全过程,以及与HTTP协议的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 Socket 就是一个通信工具的抽象。比如进程A和进程B 需要通信,那么A和B都必须各自拥有一个Socket,就像打电话一样,通话的双方都有一个电话机,那么进程A和进程B的通信,就变成进程A的Socket和进程B的Socket相互连接、断开的过程。Socket 中包含了地址、端口号等信息,Socket通信强调的是通信过程,屏蔽了通信细节。我们可以这么理解,Socket 就是通信双方的通信工具,提供了进行通信的端点。至于Socket的连接细节,是由网络协议,以及通信物理介质来完成的。Socket 通信支持本地通信(进程间),也支持远程通信(网络通信)。
 通信的双方有请求方和响应方,可以理解成客户端和服务端。
 客户端的Socket的请求过程:
 <1>打开Socket,建立Socket 连接。
 <2>向Socket 写入请求数据
 <3>从Socket 中读取响应数据
 <4>关闭Socket
 服务端Socket的响应过程:
 <1>打开Socket
 <2>绑定Socket
 <3>监听其他Socket 对本地Socket的请求
 <4>读取其他Socket 的请求
 <5>将响应结果,返回给请求它的Socket
 <6>关闭Socket
 因此可以将Socket 理解成一个特殊的文件,因为文件的基本操作就是打开文件、写入/读取数据,关闭文件。
 Socket 连接就是TCP连接或者UDP连接,Socket 连接一旦建立,就会一直保持连接,直到通信的任何一方主动断开连接。Socket 连接是处于传输层的。
 Http 协议是应用层的协议,Http连接是属于一次连接,http请求通过TCP连接到服务器,服务端响应请求后,连接就结束了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值