📅  最后修改于: 2023-12-03 15:11:55.179000             🧑  作者: Mango
在网络通信中,套接字是实现两个程序之间通信的一种接口。套接字分为被动套接字和主动套接字。
被动套接字通常用于服务器端程序,等待客户端程序的连接请求。被动套接字的创建过程如下:
import socket
# 创建套接字
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定本地 IP 和端口号
s.bind(('127.0.0.1', 8080))
# 监听客户端连接
s.listen()
上述代码使用 Python 的 socket 模块创建了一个 IPv4、TCP 套接字(socket.AF_INET 和 socket.SOCK_STREAM),并将其绑定到本地 IP 地址和端口号。然后调用 listen() 方法开始监听客户端连接请求。
主动套接字通常用于客户端程序,向服务器端程序请求建立连接。主动套接字的创建过程如下:
import socket
# 创建套接字
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 向服务器端发起连接请求
s.connect(('127.0.0.1', 8080))
上述代码使用 Python 的 socket 模块创建了一个 IPv4、TCP 套接字,并调用 connect() 方法向服务器端发起连接请求。
总结一下,被动套接字是服务器端程序用来等待客户端连接请求的套接字,它必须首先通过 bind() 方法来绑定自己的 IP 地址和端口号,并通过 listen() 方法开始监听客户端连接请求。主动套接字是客户端程序用来向服务器端请求建立连接的套接字,它必须通过 connect() 方法来向服务器端发起连接请求。
以上就是被动和主动套接字的介绍。