基于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
python读取TXT到数组及列表去重后按原来顺序排序的方法
Jun 26 Python
python3中dict(字典)的使用方法示例
Mar 22 Python
Python进阶之递归函数的用法及其示例
Jan 31 Python
用Python配平化学方程式的方法
Jul 20 Python
python找出因数与质因数的方法
Jul 25 Python
基于Python检测动态物体颜色过程解析
Dec 04 Python
python中执行smtplib失败的处理方法
Jul 01 Python
记一次Django响应超慢的解决过程
Sep 17 Python
Python实例教程之检索输出月份日历表
Dec 16 Python
python如何正确使用yield
May 21 Python
Python 中 Shutil 模块详情
Nov 11 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
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
php漏洞之跨网站请求伪造与防止伪造方法
2013/08/15 PHP
PHP+Ajax+JS实现多图上传
2016/05/07 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
asp.net 30分钟掌握无刷新 Repeater
2011/09/16 Javascript
瀑布流布局并自动加载实现代码
2013/03/12 Javascript
Jquery post传递数组方法实现思路及代码
2013/04/28 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
微信小程序 require机制详解及实例代码
2016/12/14 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
Python实现的ini文件操作类分享
2014/11/20 Python
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
2018/02/18 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
python实现寻找最长回文子序列的方法
2018/06/02 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
2014/06/23 HTML / CSS
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
高中运动会广播稿
2014/01/21 职场文书
初一学生期末评语
2014/04/24 职场文书
地球一小时宣传标语
2014/06/24 职场文书
2014年银行个人工作总结
2014/12/05 职场文书
2015年助残日活动总结
2015/03/27 职场文书
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电