python的Socketserver模块使用,异常处理
来源:互联网 发布:福州地铁软件 编辑:程序博客网 时间:2024/05/01 10:21
*******************************************server.py*******************************************
#!/usr/bin/env python
#coding:utf-8import SocketServer
import subprocess
import os,time
class HandlerTCP(SocketServer.StreamRequestHandler):
def handle(self):
try:
while True:
data = self.rfile.readline().strip()
if data == '' or data == 'exit':
self.request.sendall('CTRL+C 退出')
self.finish()
else:
A = subprocess.Popen("%s" % data,bufsize=0,stdout=subprocess.PIPE,shell=True)
Line = 1
while Line:
Line = A.stdout.readline()
if Line == "\r\n":
pass
else:
self.wfile.write('%s \n' % Line.strip())
Line = Line.strip()
if Line:
pass
else:
self.wfile.write("<<EOF")
except Exception,e:
A.kill()
self.finish()
try:
con = SocketServer.ThreadingTCPServer(('127.0.0.1',34),HandlerTCP)
con.serve_forever()
except KeyboardInterrupt,e:
con.server_close()
except Exception,e:
if e[0] == 10048:
print '端口已被占用,请重新启动程序'
else:
print 'Good Bye',e[0]
*******************************************client.py*******************************************
#!/usr/bin/env python
#coding:utf-8
import socket
import os,sys
con = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
con.connect(('127.0.0.1',34))
#con.settimeout(2)
try:
while True:
try:
Input = raw_input('Please Enter: ')
except KeyboardInterrupt,e:
con.close()
if Input:
con.send(Input+'\n')
try:
while True:
data = con.recv(2048)
if data:
if "<<EOF" not in data:
print data
else:
print data.split("<<")[0]
break
else:
break
except KeyboardInterrupt,e:
pass
else:
print '输入不能为空'
except Exception,e:
print 'Good Bye'
con.close()
- python的Socketserver模块使用,异常处理
- Python SocketServer模块
- [Python]SocketServer模块
- python异常处理、模块的使用、__all__的调用、模块的发布和安装
- socketserver的简单使用
- python socket编程(二)--SocketServer模块
- Python socket模块编程 SocketServer框架
- python socket编程(2)-SocketServer 模块
- Python Network Programming(8)---SocketServer模块
- python模块介绍- SocketServer 网络服务框架
- python模块介绍- SocketServer 网络服务框架
- python模块介绍- SocketServer 网络服务框架
- python 网络编程之socketserver模块
- socketserver模块
- python的SocketServer代码记录
- 使用 Python 编写套接字应用程序 套接字和 SocketServer 模块
- python中异常处理--raise的使用
- 当SocketServer断开或发生Wifi网络变化的时候,SocketClient应该如何处理异常。
- Android 自定义View (三) 圆环交替 等待效果
- ListView几个比较特别的属性
- ios-day11-02(控制器的多种创建方式。init方法创建、通过storyboard的创建、通过xib创建)
- 一步一步写算法(之hash表)
- DNS bind9配置
- python的Socketserver模块使用,异常处理
- Linux下DISPLAY环境变量的作用
- iOS 清空缓存(递归计算沙盒目录大小)
- 检测密码健壮性
- Redhat, CentOS系统的yum本地软件库设置
- Oracle 删除重复数据只留一条
- 如何查看JDK源码
- java设计模式入门(2)观察者模式
- 【Jsoup学习礼记】解析一个HTML字符串