Socket 编程是网络编程的基础,Python 提供了丰富的库来简化 Socket 编程。以下是一些基础的 Socket 编程概念和示例。

基础概念

  • Socket:套接字是网络通信的基石,它允许不同主机上的进程进行数据交换。
  • TCP/IP:传输控制协议/互联网协议,是互联网中使用的标准协议。

Python Socket 库

Python 中,我们可以使用 socket 库来进行 Socket 编程。

import socket

# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 获取本地主机名
host = socket.gethostname()
port = 9999

# 绑定端口
s.bind((host, port))

# 设置最大连接数,超过后排队
s.listen(5)

while True:
    # 建立客户端连接
    client_socket, addr = s.accept()
    print('连接地址: %s' % str(addr))

    msg = '欢迎!'
    client_socket.send(msg.encode('utf-8'))
    client_socket.close()

客户端示例

客户端可以使用以下代码连接到服务器:

import socket

# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 获取本地主机名
host = socket.gethostname()
port = 9999

# 连接服务,指定主机和端口
s.connect((host, port))

# 接收小于 1024 字节的数据
msg = s.recv(1024)
print(msg.decode('utf-8'))

s.close()

扩展阅读

更多关于 Python Socket 编程的信息,请参考本站的其他教程。

Python 网络编程教程