基于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的垃圾回收机制深入分析
Jul 16 Python
python操作gmail实例
Jan 14 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
Aug 25 Python
Python将多个excel文件合并为一个文件
Jan 03 Python
在Python中使用Neo4j的方法
Mar 14 Python
Python中如何导入类示例详解
Apr 17 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
Dec 11 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
Apr 21 Python
Python 微信公众号文章爬取的示例代码
Nov 30 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
Dec 21 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 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 编写的 25个游戏脚本
2009/05/11 PHP
php防攻击代码升级版
2010/12/29 PHP
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
jquery trim() 功能源代码
2011/02/14 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
jquery动态创建div与input的实例代码
2016/10/12 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
[15:28]DOTA2 HEROS教学视频教你分分钟做大人-剧毒术士
2014/06/13 DOTA
深入理解python对json的操作总结
2017/01/05 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
Python字典遍历操作实例小结
2019/03/05 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
彻底解决Python包下载慢问题
2020/11/15 Python
python安装及变量名介绍详解
2020/12/12 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
倩碧美国官网:Clinique美国
2016/07/20 全球购物
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
总经理办公室主任岗位职责
2013/11/12 职场文书
治庸问责心得体会
2014/09/12 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
2014年精神文明建设工作总结
2014/11/19 职场文书
行政助理岗位职责
2015/02/10 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
2016新春团拜会致辞
2015/08/01 职场文书
教师听课学习心得体会
2016/01/15 职场文书
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
2021/06/11 Python