socket 网络编程

Posted 皖心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了socket 网络编程相关的知识,希望对你有一定的参考价值。

socket 网络编程即c/s架构
1:硬件c/s架构(打印机)
2:软件c/s架构——b/s架构(web服务)

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,让Socket去组织数据,以符合指定的协议。

基于文件类型的套接字家族

套接字家族的名字:AF_UNIX----基于文件

unix一切皆文件,基于文件的套接字调用的就是底层的文件系统来取数据,两个套接字进程运行在同一机器,可以通过访问同一个文件系统间接完成通信

基于网络类型的套接字家族

套接字家族的名字:AF_INET----基于网络

(还有AF_INET6被用于ipv6,还有一些其他的地址家族,不过,他们要么是只用于某个平台,要么就是已经被废弃,或者是很少被使用,或者是根本没有实现,所有地址家族中,AF_INET是使用最广泛的一个,python支持很多种地址家族,但是由于我们只关心网络编程,所以大部分时候我么只使用AF_INET)

面向连接的套接字:通信前需要先建立一个连接。----虚拟电路/流套接字

面向连接的通信提供序列化的,可靠的喝不重复的数据交付,而没有记录边界。实现面向连接类型的主要协议是传输控制协议TCP,socket使用socket.SOCK.STREAM作为套接字类型。

无连接的套接字:  通信前不需要建立连接。

在数据传输过程中并无法保证它的顺序性,可靠性和重复性。数据报保存了记录边界。实现无连接类型的主要是用户数据报协议UDP,socket使用SOCK.DGRAM作为套接字类型。

 

 

 

以上是关于socket 网络编程的主要内容,如果未能解决你的问题,请参考以下文章

Socket网络编程

socket 网络编程

02 Socket网络编程

socket网络编程

Socket网络编程

python网络编程2--socket