基本概念
socket中文解释为“套接字”,很多人刚开始看到这个中文解释肯定是一头雾水。我查了以下它的英文解释如下:
a receptacle into which an electric device can be inserted
socket其实就是进程之间相互通信的的一种方式,处于这种通信方式下的进程,彼此之间都能相互进行通信。网络中的进程用ip地址i+协议+端口号标识,来与其他进程进行通信。soket可以实现不同主机之间进程的通信。我们网络上各种各样的服务大多都是基于Socket来完成通信的。例如:QQ聊天、收发email等等。
创建socket
import socket
socket.socket(AddressFamily, Type)
函数socket.socket有两个参数:
- AddressFamily:AF_INET(用于Internet进程间通信)或者AF_UNIX(用于同一台机器进程间通信)
- Type:SOCK_STREAM(主要用于TCP协议)或者SOCK_DGRAM(主要用于UDP协议)
socket的操作和文件类似,都是先创建一个socket对象,然后发送或者接收数据,随后关闭socket
以创建一个TCP协议的socket为例:
import socket
# 创建socket
s = socket.socket(AF.INET, socket.SOCKET_STREAM)
# 用socket收发数据
# ……
# 关闭socket
s.close()