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]