Socket 编程是网络编程的基础,Python 提供了丰富的内置库来支持 Socket 编程。本教程将介绍 Python 中 Socket 编程的基本概念和使用方法。
基本概念
Socket 是一种特殊的接口,它允许应用程序通过网络进行通信。Python 中的 socket
模块提供了丰富的功能来创建和使用 Socket。
Socket 类型
- 流式 Socket(Stream Sockets):提供双向、有序、可靠的数据流传输,如 TCP。
- 数据报 Socket(Datagram Sockets):提供双向、无连接的数据传输,如 UDP。
创建 Socket
import socket
# 创建 TCP Socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 创建 UDP Socket
# server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
绑定和监听
server_socket.bind(('localhost', 12345))
server_socket.listen(5)
接受连接
client_socket, addr = server_socket.accept()
print(f"连接来自: {addr}")
发送和接收数据
# 发送数据
client_socket.sendall(b"Hello, world!")
# 接收数据
data = client_socket.recv(1024)
print(f"接收到的数据: {data.decode()}")
关闭 Socket
client_socket.close()
server_socket.close()
实例:简单的 TCP 服务器
import socket
# 创建 TCP Socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口
server_socket.bind(('localhost', 12345))
# 监听连接
server_socket.listen(5)
print("等待连接...")
# 接受连接
client_socket, addr = server_socket.accept()
print(f"连接来自: {addr}")
# 发送数据
client_socket.sendall(b"Hello, world!")
# 接收数据
data = client_socket.recv(1024)
print(f"接收到的数据: {data.decode()}")
# 关闭连接
client_socket.close()
server_socket.close()
扩展阅读
更多关于 Python Socket 编程的信息,请访问我们的 Python 网络编程教程。
[center]https://cloud-image.ullrai.com/q/socket_programming/[/center]