(1)client客户端:

import socket

sk = socket.socket()

sk.connect( ("127.0.0.1",9000))

while True:

  sk.send(b'hello')

  msg = sk.recv(1024)

  print(msg)

sk.close()

(2)server服务端:

import socketserver

# 自定义一个类 MyServer

class MyServer(socketserver.BaseRequestHandler):

# handle 方法是每当有一个客户端发起connect来接之后,自动执行handle

def handle(self):

  print("--->执行这句话")

  # print(self.request) 等于 conn

  # print(self.client_address) 等于 addr

  conn = self.request

  while True:

    msg = conn.recv(1024).decode("utf-8")

    print(msg)

    conn.send(msg.upper().encode("utf-8"))

# ip 端口号 | 自定义类

server = socketserver.ThreadingTCPServer(("127.0.0.1",9000),MyServer)

# 循环调用

server.serve_forever()

(8)socketserver并发的更多相关文章

  1. Python 之网络编程之socket(2)黏包现象和socketserver并发

    一:黏包 ###tcp协议在发送数据时,会出现黏包现象.     (1)数据粘包是因为在客户端/服务器端都会有一个数据缓冲区,     缓冲区用来临时保存数据,为了保证能够完整的接收到数据,因此缓冲区 ...

  2. Learn day9 粘包\struct用法\hashlib校验\socketserver并发\模块引入\进程\join\守护进程

    1.粘包现象 总结 : 导致黏包现象的两种情况 hello,worl d (1) 在发送端,发送数据太快,频繁发送 (2) 在接收端,接收数据太慢,延迟截取 # ### 服务端 import sock ...

  3. Python(socketserver并发聊天)

    day27 一个server与多个client聊天. server.py import socketserver class MyServer(socketserver.BaseRequestHand ...

  4. socketserver 并发连接

    socketserver.TCPServer Example server side 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

  5. Python3学习之路~8.5 SocketServer实现多并发

    前面几节我们写的socket都只能实现服务端与一个客户端通信,并不能实现服务端与多客户端同时通信.接下来我们就来学习一下如何实现服务端同时与多个客户端通信,即并发. Socket Server soc ...

  6. python_way day10 python和其他语言的作用域 、 python2.7多继承和3.5多继承的区别 、 socket 和 socketserver源码(支持并发处理socket,多进程,多线程)

    python_way day10 1.python的作用域和其他语言的作用域 2.python2.7多继承和3.5多继承的区别 3.socket和socketserver源码(并发处理socket) ...

  7. python3网络编程之socketserver

    本节主要是讲解python3网络编程之socketserver,在上一节中我们讲到了socket.由于socket无法支持多用户和多并发,于是就有了socket server. socket serv ...

  8. Python网络编程篇之socketserver

    1.socketserver模块和类 socketserver是标准库中的一个高级模块,目标是简化很多样板代码(创建网络客户端和服务器所必须的代码) 这个模块封装了socket编程所需要的各种各样的类 ...

  9. 网络编程基础【day09】:socketserver进阶(十)

    本节内容 1.概述 2.多用户并发 3.socketserver.BaseServer 一.概述 之前上一篇写的 day8-socketserver使用 讲解了socketsever如何使用,但是在最 ...

随机推荐

  1. Docker容器中安装vim

    我在docker中安装了jexus.使用vim编辑default配置文件的时候提示 vim: command not found 原因是docker中没有安装vim命令 如果你直接输入  apt-ge ...

  2. string函数详解(配案例)

    多说无益上码~ #include<iostream> #include<algorithm> #include<cmath> #include<cstring ...

  3. python小程序打包

    1.首先先要安装 pip install pywin32 pip install pyinstaller 没有越狱安装不了加个国内镜像地址: pip install pyinstaller -i ht ...

  4. mysql修改用户密码笔记(转)

    方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:my ...

  5. 000-SQL Server

    MyWeb数据库,cantus表 USE [MyWeb]GO /****** Object: Table [dbo].[cantus] Script Date: 2017/12/12 12:12:12 ...

  6. 从拥抱开源到回馈开源,灵雀云助力CNCF中国区培训业务

    6月27日,全球首屈一指的开源盛会 2018 LinuxCon + ContainerCon + CloudOpen China (LC3)在中国北京国家会议中心落下帷幕.二度落地中国的LC3大会热度 ...

  7. 关于element组件中分页的一些个人思路

    最近在用element,用到了它的分页这个组件,我这边的情况是,我前端请求数据,数据大概有20个的样子,把数据存在data的一个数组里面,用一个v-for循环遍历数组内容,并用div装起来,这样20个 ...

  8. linux下列出所有连接到你的Server的IP地址

    linux下列出所有连接到你的Server的IP地址 最近要做一个检查所有连接到主机的IP的脚本,google到一篇老外写的文章 <List all IP addresses connected ...

  9. Winfon 页签切换及窗体控件自适应

    由于公司的业务调整,最近不仅开发bs,还有不熟悉的cs,人手也不足,项目还多,对于cs来说,算是小白,虽然是一个人,也是硬着头皮写,拖拽控件,自定义控件.一个项目下来,对cs有了很深的认识,这里好好感 ...

  10. java中的getStackTrace和printStackTrace的区别

    getStackTrace()返回的是通过getOurStackTrace方法获取的StackTraceElement[]数组,而这个StackTraceElement是ERROR的每一个cause ...