python_way ,day9 socket 和soctet多线程的使用
1、socket的基础 tcp/ip
2、socket用法
举个例子:
注意:


3、socket多线程的使用

import socketserver
import subprocess
class MyServer(socketserver.BaseRequestHandler):
def handle(self):
# print self.request,self.client_address,self.server
self.request.sendall(bytes('欢迎致电 10086,请输入1xxx,0转人工服务.',encoding="utf-8"))
while True:
data = self.request.recv(1024)
if len(data) == 0:break
print("[%s] says:%s" % (self.client_address,data.decode() ))
#self.request.sendall(data.upper())
cmd = subprocess.Popen(data.decode(),shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
cmd_res =cmd.stdout.read()
if not cmd_res:
cmd_res = cmd.stderr.read()
if len(cmd_res) == 0: #cmd has not output
cmd_res = bytes("cmd has output",encoding="utf-8")
self.request.send(cmd_res )
socket多线程
python_way ,day9 socket 和soctet多线程的使用的更多相关文章
- C Socket初探 - 加入多线程支持,限制最大接入客户端个数
C Socket初探 - 加入多线程支持,限制最大接入客户端个数 先上一些多线程需要使用的函数定义: DWORD WINAPI ProcessClientRequests(LPVOID lpParam ...
- 简单通过java的socket&serversocket以及多线程技术实现多客户端的数据的传输,并将数据写入hbase中
业务需求说明,由于公司数据中心处于刚开始部署的阶段,这需要涉及其它部分将数据全部汇总到数据中心,这实现的方式是同上传json文件,通过采用socket&serversocket实现传输. 其中 ...
- Android应用开发提高篇(4)-----Socket编程(多线程、双向通信)
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/04/2379628.html 一.概述 关于Socket编程的基本方法在基础篇里已经讲过,今天把 ...
- 浅谈Socket长连+多线程[原创,欢迎指点]
前戏 [PS:原文手打,转载说明出处] [PS:博主自认为适用于云平台设备管控,且适用于IM主控] 好久没来了,13年时还想着多写一些博客,这都17年过年,年前也写一写Scoket+多线程,不足之处, ...
- Linux下socket通信和多线程
服务端socket流程:socket() –> bind() –> listen() –> accept() –> 读取.发送信息(recv,send等) 客户端socket流 ...
- 浅谈Socket长连+多线程
缘由 不知各位同仁有没有发现,用简单,无外乎就是都是一个流程 1)监听链接 2)校验链接是否是正常链接 3)保存链接至全局静态字典 4)开启新线程监听监听到的线程报文 5)执行对应命令或者发送对应命令 ...
- python全栈开发从入门到放弃之socket并发编程多线程GIL
一 介绍 ''' 定义: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple nati ...
- Delphi Socket通信及多线程编程总结
http://cxhblog.blog.sohu.com/41930676.html 一.Socket通信: Delphi在ScktComp单元中对WinSock进行了封装,该单元提供了TAbstra ...
- Socket通信和多线程的总结
1.ServerSocket进行多线程接收 package com.yh.chat; import java.io.IOException; import java.net.ServerSocket; ...
随机推荐
- linux 安装
分区:/boot swap /这三个顺序分区 mkdir -p|-m cat >> 123.txt<<EOF 123 345 EOF 0.1和2分别表示标准输入.标准输出和标准 ...
- 关闭 Windows 的常用端口
netstat -ano 可以看到目前开着哪些端口 netstat -ano|findstr <端口号> 可以找到开放的端口的那条,最后还列出了 PID. 然后到任务管理器中,你可以查 ...
- 请求在Struts2框架中的处理步骤
上图来源于Struts2官方站点,是Struts 2 的整体结构. 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 ...
- linux设备驱动归纳总结(二):模块的相关基础概念【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-59415.html linux设备驱动归纳总结(二):模块的相关基础概念 系统平台:Ubuntu 10 ...
- 【python cookbook】【字符串与文本】15.给字符串中的变量名做插值处理
问题:想创建一个字符串,其中嵌入的变量名称会以变量的字符串值形式替换掉 解决方法:str.format().str.format_map() >>> s = '{name} has ...
- java网络编程之TCP通讯
java中的网络编程之TCP协议的详细介绍,以及如何使用,同时我在下面举2例说明如何搭配IO流进行操作, /* *TCP *建立连接,形成传输数据的通道: *在连接中进行大数据量传输: *通过三次握手 ...
- vi的使用规则
1.vi的基本概念 基本上vi可以分为三种状态,分别是 命令模式(command mode).插入模式(Insertmode)和 底行模式(last line mode) 各模式的功能区分如下: 1 ...
- thinkphp3.2 分页方式汇总
//自定义分页 $page = $_GET['page'] ? $_GET['page'] : 1 ; $count = $this->Table("user")->c ...
- asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结
通常javascript代码可以与HTML标签一起直接放在前 端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿:所以一般有良好开发习惯的程序员都会把 ...
- Asp.net Vnext Routing
概述 本文已经同步到<Asp.net Vnext 系列教程 >中] ASP.NET 路由系统是主要负责两个操作: 它将传入的 HTTP 请求映射到路由处理程序给出的路由的集合. 路由系统的 ...