本文转载自:http://www.cnblogs.com/bainianminguo/p/7337210.html

先看socket多并发的服务端的代码,这里是用多线程实现的多并发socketserver

import socketserver

# socketserver有四个基本的类,后两个不常用,这4个类处理并发请求都是同步的,他们其实不是多线程的,
# 他们只是把socke封装了一下,加了一些方法,这里还没有实现多并发和多线程
# 这些方法不适用每个请求都耗费长时间才能完成 # socketserver.TCPServer
# socketserver.UDPServer
# socketserver.UnixStreamServer
# socketserver.UnixDatagramServer
# socketserver.ForkingMixIn
# socketserver.ThreadingMixIn # ========================================================================================================
# 我们真正要用的下面这4个方法
# 多进程的socketserver
# socketserver.ForkingTCPServer
# socketserver.ForkingUDPServer # 多进程的socketserver
# socketserver.ThreadingTCPServer
# socketserver.ThreadingUDPServer # ========================================================================================================
class MyTcpServerClass(socketserver.BaseRequestHandler):
def handle(self):
print("waiting for new connect:")
print("new client :",self.client_address)
while True:
try:
data=self.request.recv(1024)
print("the client:",self.client_address,str(data,encoding='utf-8'))
except Exception:
print("the client [%s] is unconnected!"%(self.client_address[1]))
self.request.close()
break if __name__=='__main__':
ipbind=('127.0.0.1',2345)
server=socketserver.ThreadingTCPServer(ipbind,MyTcpServerClass)
server.serve_forever()

然后看下客户端的代码:

import socket

ipbind=('127.0.0.1',2345)

c=socket.socket()
c.connect(ipbind) while True:
c_input=input("客户端:")
c.send(bytes(c_input,encoding='utf-8'))
s_send=c.recv(1024)
print("服务端:",str(s_send,encoding='utf-8'))

python之多并发socket(zz)的更多相关文章

  1. python之多并发socket

    先看socket多并发的服务端的代码,这里是用多线程实现的多并发socketserver import socketserver # socketserver有四个基本的类,后两个不常用,这4个类处理 ...

  2. Python中的并发编程

    简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态.打开文件列表.追踪指令执行情况的程序指针以及一个保存局部变量的调用栈.通常情况下,一个进程依照一个单序列控制流顺序执 ...

  3. Python之路,Day8 - Socket编程进阶

    Python之路,Day8 - Socket编程进阶   本节内容: Socket语法及相关 SocketServer实现多并发 Socket语法及相关 socket概念 socket本质上就是在2台 ...

  4. Python开源异步并发框架

    Python开源异步并发框架的未来 2014年3月30日,由全球最大的中文IT社区CSDN主办的“开源技术大会·” (Open Source Technology Conference ,简称OSTC ...

  5. python学习笔记之socket(第七天)

         参考文档:              1.金角大王博客:http://www.cnblogs.com/alex3714/articles/5227251.html               ...

  6. Python几种并发实现方案的性能比较

    http://blog.csdn.net/permike/article/details/54846831 Python几种并发实现方案的性能比较 2017-02-03 14:33 1541人阅读 评 ...

  7. 用 Python 理解 Web 并发模型

    用 Python 理解 Web 并发模型 http://www.jianshu.com/users/1b1fde012122/latest_articles   来源:MountainKing 链接: ...

  8. python学习之并发编程

    目录 一.并发编程之多进程 1.multiprocessing模块介绍 2.Process类的介绍 3.Process类的使用 3.1 创建开启子进程的两种方式 3.2 获取进程pid 3.3验证进程 ...

  9. 百万年薪python之路 -- 并发编程之 多线程 二

    1. 死锁现象与递归锁 进程也有死锁与递归锁,进程的死锁和递归锁与线程的死锁递归锁同理. 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因为争夺资源而造成的一种互相等待的现象,在无外力的作用 ...

随机推荐

  1. 微信小程序—setTimeOut定时器的坑

    原文地址: http://fanjiajia.cn/2018/06/27/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E2%80%94setTimeOu ...

  2. PTA实验报告(循环 数组 函数)

    一.循环PTA实验作业 题目一.7-2 求平方根序列前N项和 1.本题PTA提交列表 2.设计思路 本题调用了sqrt数学函数计算平方根,其次只用了一层循环,计算平方根之后使用循环累加计算总和sum. ...

  3. 【bzoj4817】[Sdoi2017]树点涂色 LCT+LCA+线段树

    题目描述 给出一棵n个点,以1为根的有根树,每个点初始染有互不相同的颜色.定义一条路径的权值为路径上的颜色种类数.现有m次操作,每次操作为以下三种之一: 1 x: 把点x到根节点的路径上所有的点染上一 ...

  4. Luogu 3435 POI2006OKR-Periods of Words(kmp)

    显然答案应该是Σi-next[next[……next[i]]] (next[next[……next[i]]]>0).递推即可. #include<iostream> #include ...

  5. WCF分布式开发步步为赢(14):WCF安全编程--基本概念

    WCF安全机制是个非常复杂的问题,因为涉及的知识点较多,所以今天这个文章,会分析进行WCF安全开发应该了解的哪些知识点.如何查看资料.为了更好地理解WCF安全相关知识,我把WCF安全机制主要知识点整理 ...

  6. Hadoop NameNode元数据相关文件目录解析

    在<Hadoop NameNode元数据相关文件目录解析>文章中提到NameNode的$dfs.namenode.name.dir/current/文件夹的几个文件: 1 current/ ...

  7. 480000 millis timeout while waiting for channel to be ready for write异常处理

    2014-08-25 15:35:05,691 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: DatanodeRegistration( ...

  8. BAT定期删除N天前的文件

    1.直接看脚本在win2008测试可用 ::clean logs @echo off title clean up logs ::delete logs FORFILES /P /C "cm ...

  9. c++ STL(2)

    Vector: #include "stdafx.h" #include<iostream> #include<vector> #include<al ...

  10. vue之axios使用

    axios是vue-resource后出现的Vue请求数据的插件.vue更新到2.0之后,作者尤大就宣告不再对vue-resource更新,而是推荐的axios. 下面我们来使用axios npm i ...