回顾
在《Python进阶记录之requests模块》中,我们介绍了Python中的第三方网络请求库requests模块,重点介绍了requests使用get( )方法和post( )方法进行简单的GET/POST请求。今天开始我们讲一下Python中网络编程的相关知识。
socket基本概念
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket,也被称为“套接字”。应用程序通常通过“套接字”来向网络发出请求或者应答网络请求。
socket是进程间通信的一种方式,它与其他进程间通信的一个主要不同点在于:socket能实现不同主机间的进程间通信。在我们使用的日常网络中有很多服务都是基于socket来完成通信的,例如QQ、微信聊天、收发邮箱等。
Python中使用socket模块来创建socket套接字。
![21d4cbe20d7188c3245e8b5c19a1ccb4.png](https://i-blog.csdnimg.cn/blog_migrate/c261ec2430a7781cb13517bf87608e50.jpeg)
socket创建
socket模块的socket( )方法可以创建一个socket对象,该方法带有以下两个参数:
Address Family:通信方式。通常我们选择AF_INET(用于网络进程间通信)或者 AF_UNIX(用于同一台机器的进程间通信)。我们实际开发工作中用的更多的是AF_INET网络进程间通信。
Type:套接字类型,一般我们选择SOCK_STREAM(流式套接字,主要用于TCP协议)或者SOCK_DGRAM(数据报套