基于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自动安装pip
Apr 24 Python
在Django框架中编写Contact表单的教程
Jul 17 Python
Python数据分析之双色球中蓝红球分析统计示例
Feb 03 Python
python使用xlrd和xlwt读写Excel文件的实例代码
Sep 05 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 Python
python调用外部程序的实操步骤
Mar 04 Python
浅析python 中大括号中括号小括号的区分
Jul 29 Python
python中pygame安装过程(超级详细)
Aug 04 Python
Python可变对象与不可变对象原理解析
Feb 25 Python
Django ValuesQuerySet转json方式
Mar 16 Python
Django import export实现数据库导入导出方式
Apr 03 Python
python利用文件时间批量重命名照片和视频
Feb 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
如何分别全角和半角以避免乱码
2006/10/09 PHP
PHP cron中的批处理
2008/09/16 PHP
php 图像函数大举例(非原创)
2009/06/20 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
js event事件的传递与冒泡处理
2009/12/06 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
js中同步与异步处理的方法和区别总结
2013/12/25 Javascript
js限制文本框只能输入中文的方法
2015/08/11 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
Bootstrap模态框调用功能实现方法
2016/09/19 Javascript
基于JavaScript实现自动更新倒计时效果
2016/12/19 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
2019/04/01 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
在Docker上开始部署Python应用的教程
2015/04/17 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
Python编程实现的简单神经网络算法示例
2018/01/26 Python
Python中创建二维数组
2018/10/17 Python
Django实现学员管理系统
2019/02/26 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
PYTHON如何读取和写入EXCEL里面的数据
2019/10/28 Python
护士岗位求职应聘自荐书范文
2014/02/12 职场文书
先进班集体申报材料
2014/12/26 职场文书
2015年安全生产责任书
2015/01/30 职场文书
个人总结怎么写
2015/02/26 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
2019年图书室自查报告范本
2019/10/12 职场文书
MySQL系列之十四 MySQL的高可用实现
2021/07/02 MySQL
各种货币符号快捷输入
2022/02/17 杂记