更多内容请访问Socket技术详解
1、什么是Socket
在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。
socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。
我的理解就是Socket就是该模式的一个实现:即socket是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)。
Socket()函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。
2、网络中进程如何通信
既然Socket主要是用来解决网络通信的,那么我们就来理解网络中进程是如何通信的。
2.1、本地进程间通信
a、消息传递(管道、消息队列、FIFO)
b、同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)
c、共享内存(匿名的和具名的,eg:channel)
d、远程过程调用(RPC)
2.2、网络中进程如何通信
我们要理解网络中进程如何通

本文详细介绍了Socket的基本概念,以及网络中进程如何通过Socket进行通信。讲解了TCP/IP协议中的IP地址、端口如何标识网络进程,并探讨了Socket通信的两种方式——面向连接的SOCK_STREAM和无连接的SOCK_DGRAM。此外,还简单概述了TCP/IP协议与OSI模型的关系。
最低0.47元/天 解锁文章
1516

被折叠的 条评论
为什么被折叠?



