ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Python:简易的 TCP 服务端与客户端示例

2026/8/8 13:04:42 拓冰建站 浏览量
Python:简易的 TCP 服务端与客户端示例

下面是一个完整的 TCP 服务端与客户端示例,适用于 Python 3,使用 socket 模块,并正确处理了中文传输与异常情况,支持基本的多轮通信。

TCP 服务端(server_tcp.py)

import socket
HOST = '127.0.0.1'  # 监听本地地址PORT = 12345        # 自定义端口号
# 创建 TCP socketserver_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)server_socket.bind((HOST, PORT))server_socket.listen(1)
print(f"服务器已启动,监听端口 {PORT},等待连接...")
try:    conn, addr = server_socket.accept()    print("客户端已连接:", addr)while True:        data = conn.recv(1024)        if not data:            print("客户端断开连接。")            breakmsg = data.decode("utf-8")        print("客户端发来:", msg)if msg.lower() in ["bye", "exit"]:            conn.sendall("再见!".encode("utf-8"))            breakreply = f"已收到:{msg}"        conn.sendall(reply.encode("utf-8"))
except Exception as e:    print("发生异常:", e)
finally:    conn.close()    server_socket.close()    print("服务器已关闭。")

TCP 客户端(client_tcp.py)

import socket
HOST = '127.0.0.1'  # 连接目标地址PORT = 12345
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:    client_socket.connect((HOST, PORT))    print("已连接服务器,输入消息并回车(输入 bye 或 exit 退出)")while True:        msg = input("我说:")        if not msg:            continueclient_socket.sendall(msg.encode("utf-8"))data = client_socket.recv(1024)        print("服务器回应:", data.decode("utf-8"))if msg.lower() in ["bye", "exit"]:            break
except Exception as e:    print("连接异常:", e)
finally:    client_socket.close()    print("客户端已关闭。")

  ◆  ◆

使用说明

1、先运行服务端,建议在命令行中运行。

python server_tcp.py

2、再运行客户端(client_tcp.py)。可在 Python 编辑器中运行。

3、客户端输入文字后回车,服务器会回应。

4、输入 bye 或 exit 可关闭连接。

图片

“点赞有美意,赞赏是鼓励”