计算机之间的通信

C/S模式:普通用户使用个人电脑进行上网冲浪,当需要用到各种服务时,向提供该服务的服务器发送请求,服务器应答并提供相应的服务。

Linux/Unix网络编程之TCP编程 随笔 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

那么客户机和服务器之间如何建立通信?这就涉及到计算机网络方面的知识。

Linux/Unix网络编程之TCP编程 随笔 第2张

Linux/Unix网络编程之TCP编程 随笔 第3张

 

事实上,说成两台计算机通信并不够具象,往具体细节深究,其实是两台计算机上运行的程序(进程)之间的通信,例如我们使用浏览器浏览某个网站,就是浏览器进程与web服务器相应进程之间的通信。

Linux/Unix网络编程之TCP编程 随笔 第4张

从计算机网络原理的角度上看,套接字socket就是两台计算机的应用进程之间通信用的地址——IP:端口。

计算机就像是一栋楼,应用进程就是其中一个房子,socket就是楼号与房子门牌组在一起。

当一个房子的物品需要送到另一个不同楼的房子去时,你就需要知道对方的楼号和房子的门牌。而对方也需要你把物品送过去之后留下你的楼号和房子门牌,这样对方也可以把相应的物品送回来。

Linux/Unix网络编程之TCP编程 随笔 第5张

从网络通信编程的角度来看,socket就是一个编程接口,通过这个编程接口进行编程,可以完成两台计算机进程之间的通信。

socket在计算机协议层中作用的位置

Linux/Unix网络编程之TCP编程 随笔 第6张

Linux/Unix网络编程之TCP编程 随笔 第7张

Linux/Unix网络编程之TCP编程 随笔 第8张

具体的编程

Linux/Unix网络编程之TCP编程 随笔 第9张

Linux/Unix网络编程之TCP编程 随笔 第10张

Linux/Unix网络编程之TCP编程 随笔 第11张

 

 Linux/Unix网络编程之TCP编程 随笔 第12张

 

 Linux/Unix网络编程之TCP编程 随笔 第13张

Linux/Unix网络编程之TCP编程 随笔 第14张

Linux/Unix网络编程之TCP编程 随笔 第15张

Linux/Unix网络编程之TCP编程 随笔 第16张

Linux/Unix网络编程之TCP编程 随笔 第17张

Linux/Unix网络编程之TCP编程 随笔 第18张

  

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄