Python的socket模块提供了用于编写套接字程序的低级API。套接字是网络编程中的一种通信协议,它允许应用程序通过网络进行通信。
Python的socket模块包含了一系列类和函数,可以用来实现TCP/IP协议的Socket编程。基本使用流程如下:
- 创建套接字对象
- 绑定端口号和IP地址(对于服务器端来说)
- 监听连接请求(对于服务器端来说)
- 接受连接请求,创建连接套接字(对于服务器端来说)
- 连接服务器(对于客户端来说)
- 发送数据
- 接收数据
- 关闭套接字
常用的socket模块中的类和函数有:
- socket():创建套接字。
- bind():将套接字绑定到指定地址和端口号。
- listen():开始监听传入的连接请求。
- accept():接受传入的连接请求,并返回连接Socket对象和客户端地址。
- connect():请求连接到指定服务器。
- send():发送数据。
- recv():接收数据。
- close():关闭套接字。
另外,为了方便网络编程,Python的socket模块中还包含了一些常用的常量和函数,例如AF_INET(IPv4协议族)和SOCK_STREAM(TCP协议),以及inet_pton()和inet_ntop()等IP地址处理函数。
服务端代码:
import os
import socket
server=socket.socket()
host="127.0.0.1" #服务器IP地址
port=50001 #监听服务器端口号
server.bind((host,port))
server.listen(5)
print("等待客户端连接...")
conn,addr=server.accept()
print("客户