基于python实现简单C/S模式代码实例


Posted in Python onSeptember 14, 2020

C/S模式就是指客bai户端/服务器模式,du是计算机软件协同工作的一种模式。zhi

由于Web浏览器的兴起,B/S模式逐步取代了daoC/S模式,被更广泛地应用。随着计算机网络技术的成熟和应用普及,特别是局域网的发展、PC机的出现,越来越多的用户和企业开始使用计算机管理一些事务。

PC机的资源没有大型、中型甚至小型主机丰富,但将多台PC机联成网,必然会增加资源含量,各个用户都在网络上来共享所有资源。根据客户/服务器(Client/Server简记为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 相关文章推荐
python解析模块(ConfigParser)使用方法
Dec 10 Python
Python标准库之collections包的使用教程
Apr 27 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
Mar 29 Python
Python 2.7中文显示与处理方法
Jul 16 Python
tensorflow学习教程之文本分类详析
Aug 07 Python
Python中print和return的作用及区别解析
May 05 Python
python脚本执行CMD命令并返回结果的例子
Aug 14 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
基于Python共轭梯度法与最速下降法之间的对比
Apr 02 Python
Pycharm中如何关掉python console
Oct 27 Python
Python如何用re模块实现简易tokenizer
May 02 Python
python中pd.cut()与pd.qcut()的对比及示例
Jun 16 Python
Elasticsearch py客户端库安装及使用方法解析
Sep 14 #Python
基于python实现简单网页服务器代码实例
Sep 14 #Python
用python绘制樱花树
Oct 09 #Python
Python logging日志库空间不足问题解决
Sep 14 #Python
Python grpc超时机制代码示例
Sep 14 #Python
python/golang 删除链表中的元素
Sep 14 #Python
Python基于pillow库实现生成图片水印
Sep 14 #Python
You might like
图解上海144收音机
2021/03/02 无线电
PHP中extract()函数的定义和用法
2012/08/17 PHP
js调试系列 初识控制台
2014/06/18 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
浅谈轻量级js模板引擎simplite
2015/02/13 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
layer.js open 隐藏滚动条的例子
2019/09/05 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
Django imgareaselect手动剪切头像实现方法
2015/05/26 Python
python字符串str和字节数组相互转化方法
2017/03/18 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
Django框架封装外部函数示例
2019/05/28 Python
Django框架表单操作实例分析
2019/11/04 Python
创建Shapefile文件并写入数据的例子
2019/11/26 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
英国探险旅游专家:Explore
2018/12/20 全球购物
英国最大的在线蜡烛商店:Candles Direct
2019/03/26 全球购物
视图的作用
2014/12/19 面试题
中学生自我鉴定
2014/02/04 职场文书
感恩母亲节演讲稿
2014/05/07 职场文书
施工安全生产承诺书
2014/05/23 职场文书
广告学专业求职信
2014/06/19 职场文书
计划生育标语
2014/06/23 职场文书
2014旅游局领导班子四风问题对照检查材料思想汇报
2014/09/19 职场文书
师德师风自查材料
2014/10/14 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
《藏戏》教学反思
2016/02/23 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书
详解Python生成器和基于生成器的协程
2021/06/03 Python