PKI学习之路(二)-----------------------浅谈socket

首先为什么要用socket?

如果没有socket,我们传输数据需要借助TCP/IP协议,不仅需要三次握手,还要友好分手,每次传输都要经过复杂的连接,具体传输过程中,也会有一大堆的问题,什么滑动窗口,什么累计确认,分组缓存,流量控制,,,听着就头皮发麻,而socket就是TCP/IP的实现

讲一个人:

Bill Joy 

是一个天才程序员,主要工作包括BSD Unix操作系统, 实现TCP/IP协议栈, vi 编辑器,c shell , NFC, SPARC处理器,jini等。

当年DARPA(美国国防部先进研究项目局)和一个叫做BBN的公司签署了一个合同,要把TCP/IP协议加入到Berkeley Unix当中, 当研究生Bill Joy 看到BBN写的TCP/IP实现时, 觉得非常差劲,拒绝把它加入内核, 后来干脆卷起袖子自己实现了一个高性能的TCP/IP栈, 这个协议栈至今是互联网的基石。

别人问他是怎么实现这么复杂的软件的, 这位大神说: “很简单啊, 你只需要看看协议, 然后把代码写出来就行了”

客户端和服务端的交互流程

客户端和服务端配置一个端口号,因为同一台机器同时运行好多个进程,那么交互信息就是通过端口号(相当于门牌号)去发送,接受,这些都会被封装再socket中

soket_name 客户端ip 客户端端口 服务端ip 服务端端口
hello_socket        

客户端发送一个hello_socket到服务器,服务器创建一个socket保存这个hello_socket,然后就可以通过soket里面的信息,把处理结果返回给客户端

猜你喜欢

转载自blog.csdn.net/qq_33543634/article/details/84622710
PKI