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

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

本文介绍基于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 相关产品和应用

全部下载

专题列表