基于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中enumerate的用法实例解析
Aug 18 Python
合并百度影音的离线数据( with python 2.3)
Aug 04 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
Dec 15 Python
Python-OpenCV基本操作方法详解
Apr 02 Python
Python 加密与解密小结
Dec 06 Python
Python应用领域和就业形势分析总结
May 14 Python
python跳出双层for循环的解决方法
Jun 24 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
Jul 04 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
Mar 04 Python
使用Python和百度语音识别生成视频字幕的实现
Apr 09 Python
python算的上脚本语言吗
Jun 22 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 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+dbfile开发小型留言本
2006/10/09 PHP
symfony2.4的twig中date用法分析
2016/03/18 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
PHP new static 和 new self详解
2017/02/19 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
2019/05/09 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
jqGrid jQuery 表格插件测试代码
2011/08/23 Javascript
浅析js封装和作用域
2013/07/09 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
jquery实现一个全局计时器(商城可用)
2017/06/30 jQuery
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
swiper自定义分页器的样式
2020/09/14 Javascript
python 文件与目录操作
2008/12/24 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
Django自定义用户认证示例详解
2018/03/14 Python
python3库numpy数组属性的查看方法
2018/04/17 Python
关于Python的一些学习总结
2018/05/25 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
Css3新特性应用之形状总结
2016/12/08 HTML / CSS
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
计算机专业毕业生推荐信
2013/11/25 职场文书
2014年会演讲稿范文
2014/01/06 职场文书
大学迎新晚会主持词
2014/03/24 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
财务人员入职担保书
2015/09/22 职场文书
如何写好闭幕词
2019/04/02 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python