计算机网络(九)——简述Socket

简介

在这里插入图片描述
上图即为网络的基本层级结构
应用层:各种网络应用软件,有其对应的端口(浏览器、QQ……)
运输层:为数据从一个主机传输到另一个主机制定的协议(TCP(三次握手)、UDP)
网络层:定义IP地址,明确了主机所在的网段
链路层:定义了MAC地址,局域网内部寻址

何为Socket?
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。个人理解:Socket将TCP/IP协议的实现放入了黑箱,无论是硬件实现还是软件实现,对应用层而言,只需传入传入协议、目标IP、目标端口等一些参数即可。
在这里插入图片描述
上图将Socket的作用描绘得很清楚。

Socke的应用流程

在这里插入图片描述
服务器与客户端交换信息的过程:
1.初始化Socket
2.与端口绑定bind()(作为服务器,提供什么样的服务,端口号就必须固定下来。web服务:80,FTP服务:21……端口号小于1024的是Internet标准服务的端口,端口号大于1024的,可以随便使用)
3.对端口进行监听listen()
4.如果客户端的Socket连接服务器connect(),若连接成功,客户端与服务器的连接就建立了(TCP三次握手)
5.客户端发送数据请求,服务器接收请求并处理请求,把回应数据发送给客户端,客户端读取数据
Ps:大致读了读w5500的数据手册,硬件上来说,Socket可以存在多个,故服务器其实可以提供多种服务,客观来说,w5500确实方便,硬件集成的网络通信协议省了不少事,近期抽空研究研究。

Reference:https://www.cnblogs.com/goodcandle/archive/2005/12/10/294652.html

发布了99 篇原创文章 · 获赞 29 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44586750/article/details/100901235