Python实现C/S架构网络通信示例

Oliver
Oliver
发布时间:2026-10-14| 4人浏览过
原创

本文介绍基于Python的C/S(客户端/服务器)模式网络通信实现。通过Socket模块创建TCP连接,服务器端监听端口并启用多线程处理多客户端请求,客户端发起连接并交互发送数据。代码展示了完整的握手、消息收发及断开流程,适用于理解基础网络编程概念。

C/S模式概述

C/S模式即客户端与服务器架构,是软件系统中常见的协同工作模式。

尽管Web浏览器的普及使B/S模式逐渐占据主流,但随着计算机网络技术的成熟及局域网的广泛发展,特别是个人计算机(PC)的普及,越来越多的用户和企业倾向于利用计算机管理各类事务。

虽然单台PC的资源不及大型或中型主机丰富,但通过组建网络,多台PC可以共享资源,显著提升整体资源利用率。基于C/S体系结构概念,系统至少需要两台计算机,分别承担客户机和服务器的角色。

Python C/S代码实现

以下是服务器端的实现代码:


#!/usr/bin/python

import time, socket, threading

# thread handle function
def tcplink(sock, addr):
  print 'Accept new connection from %s:%s...' % addr
  sock.send('Welcome!')
  while True:
    data = sock.recv(1024)
    time.sleep(1)
    if data == 'exit' or not data:
      break
    sock.send('Hello, %s!' % data)
  sock.close()
  print 'Connection from %s:%s closed.' % addr

# create socket object
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# listen port
s.bind(('127.0.0.1', 9999))
# start listen
s.listen(5)
# print prompt
print 'Waiting for connection...'

while True:
  # accept a new connection
  sock, addr = s.accept()
  # create new thread to handle tcp connection
  t = threading.Thread(target=tcplink, args=(sock, addr))
  t.start()

客户端代码示例如下:


#!/usr/bin/python

# import module
import socket

# create TCP object
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# connect sina
s.connect(('127.0.0.1', 9999))
# receive welcome
print s.recv(1024)

for data in ['zjw', 'ygl', 'lele']:
  # send data
  s.send(data)
  print s.recv(1024)
while True:
  data = 1

设计逻辑保持一致:服务器端监听固定端口以等待连接,客户端发起连接请求,随后双方进行消息交互。

以上内容为本文的全部介绍,希望对读者学习有所帮助,欢迎继续支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。