基于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实现的Kmeans++算法实例
Apr 26 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 Python
Python基于matplotlib实现绘制三维图形功能示例
Jan 18 Python
python实现读取大文件并逐行写入另外一个文件
Apr 19 Python
Selenium定位元素操作示例
Aug 10 Python
python中时间模块的基本使用教程
May 14 Python
Python使用字典实现的简单记事本功能示例
Aug 15 Python
Django1.11自带分页器paginator的使用方法
Oct 31 Python
python从内存地址上加载python对象过程详解
Jan 08 Python
Python RabbitMQ实现简单的进程间通信示例
Jul 02 Python
Pytest中conftest.py的用法
Jun 27 Python
浅谈哪个Python库才最适合做数据可视化
Jun 28 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
PHP copy函数使用案例代码解析
2020/09/01 PHP
window.open的功能全解析
2006/10/10 Javascript
jquery星级插件、支持页面中多次使用
2012/03/25 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
Python中__name__的使用实例
2015/04/14 Python
Python实现线程状态监测简单示例
2018/03/28 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
python+opencv实现阈值分割
2018/12/26 Python
使用Python脚本zabbix自定义key监控oracle连接状态
2019/08/28 Python
python处理RSTP视频流过程解析
2020/01/11 Python
python实现简单坦克大战
2020/03/27 Python
Python中过滤字符串列表的方法
2020/12/22 Python
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
h5使用canvas画布实现手势解锁
2019/01/04 HTML / CSS
canvas画图被放大且模糊的解决方法
2020/08/11 HTML / CSS
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
俄罗斯香水和化妆品购物网站:Л’Этуаль
2018/05/10 全球购物
Flesh Beauty官网:露华浓集团旗下彩妆品牌
2021/02/15 全球购物
SQL Server笔试题
2012/01/10 面试题
新锐科技Java程序员面试题
2016/07/25 面试题
幼儿园中秋节活动方案
2014/02/06 职场文书
2014年监理个人工作总结
2014/12/11 职场文书
公司庆典欢迎词
2015/01/26 职场文书
财政局个人年终总结
2015/03/03 职场文书
班级联欢会主持词
2015/07/03 职场文书
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript