基于python实现简单C/S模式代码实例
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实现基于C/S架构的聊天室功能详解
本文实例讲述了Python实现基于C/S架构的聊天室功能.分享给大家供大家参考,具体如下: 一.课程介绍 1.简介 本次项目课是实现简单聊天室程序的服务器端和客户端. 2.知识点 服务器端涉及到asyncore.asynchat和socket这几个模块,客户端用到了telnetlib.wx.time和thread这几个模块. 3.所需环境 本次课中编写客户端需要用到wxPython,它是一个GUI工具包,请先使用下面的命令安装: $ sudo apt-get install python-wxt
-
python Socket网络编程实现C/S模式和P2P
C/S模式 由于网络课需要实现Socket网络编程,所以简单实现了一下,C/S模式分别用TCP/IP协议与UDP协议实现,下面将分别讲解. TCP/IP协议 TCP/IP协议是面向连接的,即客户端与服务器需要先建立连接后才能传输数据,以下是服务器端的代码实现. 服务端: import socket from threading import Thread def deal(sock,addr): print('Accept new connection from {}:{}'.format(ad
-
python单线程文件传输的实例(C/S)
客户端代码: #-*-encoding:utf-8-*- import socket import os import sys import math import time def progressbar(cur, total): percent = '{:.2%}'.format(float(cur) / float(total)) sys.stdout.write('\r') sys.stdout.write("[%-50s] %s" % ( '=' * int(math.flo
-
python基于C/S模式实现聊天室功能
最简单的模式,C/S模式实现聊天室 从半双工开始,何谓半双工?半双工即是说双方可以互发消息,但一次只能一个用户发送. 只要稍微会点socket编程的人都会觉得很简单,所以过过场,直接上代码. 服务器端代码: from socket import * from time import ctime HOST = '' PORT = 4568 BUFSIZE = 1024 ADDR = (HOST,PORT) tcpSerSocket = socket(AF_INET, SOCK_STREAM) tc
-
Python socket套接字实现C/S模式远程命令执行功能案例
本文实例讲述了Python socket套接字实现C/S模式远程命令执行功能.分享给大家供大家参考,具体如下: 一. 前言 要求: 使用python的socket套接字编写服务器/客户机模式的远程命令执行脚本. serverCmd.py 远程机器上用来执行客户端发送命令的脚本 clientCmd.py 本地机器上,向远程服务器发送命令的脚本 servers.txt 本地机器上,存放所有的远程服务器IP地址文件(仅支持第一个IP) 发送:cmd [command]形式消息,让远程主机执行命令(本
-
python3编写C/S网络程序实例教程
本文以实例形式讲述了python3编写C/S网络程序的实现方法.具体方法如下: 本文所述实例是根据wingIDE的提示编写的一个C/S小程序,具体代码如下: client端myclient.py代码如下: #!/bin/env python #-*- coding:gb18030 -*- # import socket import time i=1 while i<10: address=("127.0.0.1",3138) s=socket.socket(socket.AF_
-
Python socket C/S结构的聊天室应用实现
Python socket C/S结构的聊天室应用 服务端: #!/usr/bin/env python #coding:utf8 import socket,select def broadcast_data (sock,message): for socket in conn_list: if socket != server_socket and socket != sock : try : socket.send(message) except : socket.close() conn
-
基于python实现简单C/S模式代码实例
C/S模式就是指客bai户端/服务器模式,du是计算机软件协同工作的一种模式.zhi 由于Web浏览器的兴起,B/S模式逐步取代了daoC/S模式,被更广泛地应用.随着计算机网络技术的成熟和应用普及,特别是局域网的发展.PC机的出现,越来越多的用户和企业开始使用计算机管理一些事务. PC机的资源没有大型.中型甚至小型主机丰富,但将多台PC机联成网,必然会增加资源含量,各个用户都在网络上来共享所有资源.根据客户/服务器(Client/Server简记为C/S)体系结构的概念,至少用两台计算机来分别
-
基于Python批量生成指定尺寸缩略图代码实例
这篇文章主要介绍了基于Python批量生成指定尺寸缩略图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近我们商城上架的应用越来越丰富了.但在应用上传的过程中遇到这样的一个问题:每一个上架的应用需要配置一个应用封面图片,并且封面的图片大小有指定的范围:300*175.而 我们制作完的图片一般都会大于这个尺寸.所以每次手动调整大小,又让我产生了偷懒的想法,想法有了那就开始行动吧. 代码 import requests as req fr
-
python实现简单的购物程序代码实例
需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 代码如下 #!/usr/bin/ven python # Author: Hawkeye ''' 本程序为实例程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 ''
-
基于python实现图片转字符画代码实例
直接上代码图片就使用我家爽妹子的吧 如果没有安装pil模块的话先cmd安装下 输入:pip install pillow # -*- coding: utf-8 -*- from PIL import Image codeLib = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'. '''#生成字符画所需的字符集 count = len(codeLib) def transform1
-
基于python检查SSL证书到期情况代码实例
结合邮件告警和页面展示,再多的域名证书到期情况即可立马知道 代码示例: # coding: utf-8 # 查询域名证书到期情况 import re import time import subprocess from datetime import datetime from io import StringIO def main(domain): f = StringIO() comm = f"curl -Ivs https://{domain} --connect-timeout 10&q
-
基于Python实现简单的定时器详解
所谓定时器,是指间隔特定时间执行特定任务的机制.几乎所有的编程语言,都有定时器的实现.比如,Java有util.Timer和util.TimerTask,JavaScript有setInterval和setTimeout,可以实现非常复杂的定时任务处理.然而,牛叉到无所不能的Python,却没有一个像样的定时器,实在令人难以理解. 刚入门的同学一定会说:不是有个time.sleep吗?定好闹钟睡大觉,闹钟一响,起来干活,这不就是一个定时器吗?没错,time.sleep具备定时器的基本要素,但若作
-
基于Python实现简单的人脸识别系统
目录 前言 基本原理 代码实现 创建虚拟环境 安装必要的库 前言 最近又多了不少朋友关注,先在这里谢谢大家.关注我的朋友大多数都是大学生,而且我简单看了一下,低年级的大学生居多,大多数都是为了完成课程设计,作为一个过来人,还是希望大家平时能多抽出点时间学习一下,这种临时抱佛脚的策略要少用嗷.今天我们来python实现一个人脸识别系统,主要是借助了dlib这个库,相当于我们直接调用现成的库来进行人脸识别,就省去了之前教程中的数据收集和模型训练的步骤了. B站视频:用300行代码实现人脸识别系统_哔
-
基于Python编写简单实用的日志装饰器
目录 1.简陋版装饰器 2.普通版装饰器 3.优化版装饰器 在写代码的时候,往往会漏掉日志这个关键因素,导致功能在使用的时候出错却无法溯源. 其实,只需要写一个非常简单的日志装饰器,我们就能大大提升排查问题的效率. 1.简陋版装饰器 写一个装饰器非常简单,因为本质上装饰器就是一个返回函数的“高阶”函数而已: 1) 函数作为参数传递进装饰器. 2) 装饰器内定义一个函数,处理作为参数传递进来的函数. 3) 返回这个装饰器内定义的函数 import datetime def log(func): "
-
基于Python实现围棋游戏的示例代码
目录 1.导入模块 2.初始化棋盘 3. 开始游戏 4.放弃当前回合落子 5.悔棋判断 6.重新开始 7.右侧太极图的设置 8.落子设置 9.吃子规则判定设置 10.其他 11.程序入口 12.效果图 文件自取 1.导入模块 tkinter:ttk覆盖tkinter部分对象,ttk对tkinter进行了优化 copy:深拷贝时需要用到copy模块 tkinter.messagebox:围棋应用对象定义 如没有以上模块,在pycharm终端输入以下指令: pip install 相应模块 -i h
-
基于Python实现简单的汉字拼音转换工具
目录 1.准备 2.基本使用 3.高级使用 将汉字转为拼音,可以用于批量汉字注音.文字排序.拼音检索文字等常见场景. 现在互联网上有许多拼音转换工具,基于Python的开源模块也不少,今天给大家介绍一个功能特性最多的模块: pypinyin ,它支持以下特性: 1. 根据词组智能匹配最正确的拼音. 2. 支持多音字. 3. 简单的繁体支持, 注音支持. 4. 支持多种不同拼音/注音风格. 5. 命令行工具一键转化 1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,
随机推荐
- sql server查询时间技巧分享
- jQuery鼠标悬停内容动画切换效果
- Ext JS 4实现带week(星期)的日期选择控件(实战二)
- PHP服务端SESSION管理工具提供下载
- 详解iOS 裁剪圆形图像并显示(类似于微信头像)
- js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
- Python 解析XML文件
- Android基础知识之frame动画效果
- C#事件用法实例浅析
- MySQL数据库优化推荐的编译安装参数小结
- PHP匿名函数和use子句用法实例
- MongoDB简介 MongoDB五大特色
- jquery实现submit提交表单
- 模仿百度三维地图的js数据分享
- iis 权限设置
- Android自定义View实现游戏摇杆键盘的方法示例
- 浅谈Java线程并发知识点
- Apache设置虚拟WEB
- 浅谈python在提示符下使用open打开文件失败的原因及解决方法
- 详解docker 容器不自动退出结束运行的方法