Python 网络编程
来源:互联网 发布:win10没有解压软件 编辑:程序博客网 时间:2024/05/23 01:10
今天学习了一个python 网络编程,感觉比较简单,也就是基本那几步,create--bind---listen -->receive/send---->close.
还学习一个Tcp版 Server编程框架,可以支持多个socket连接的那种。感觉也还可以。其中最简单的框架为TCPServer+BaseRequestHandler:。简单的例子如下:
import SocketServer#本程序可以支持多个客户端连接请求class MyRequestHandler(SocketServer.BaseRequestHandler):#self.request其实就是一个socketdef handle(self):addr =self.request.getpeername()print "got connection from",addrwhile True:#当客户端主动断开连接时,self.recv(1024)会抛出异常try:#read 1024 byte each time ,and remove empty letter including(space tab \r \n)data = self.request.recv(1024).strip()if not data:breakprint "receive from(%s):%s" %(self.client_address,data)self.request.sendall(data.upper())except:traceback.print_exc()breakself.request.close()addr=('127.0.0.1',8000)server =SocketServer.ThreadingTCPServer(addr,MyRequestHandler)server.serve_forever() #只是反复调用handle_request()#server.handle_request() #一个一个的处理链接请求。
客户端为:
# *_* coding=gb2312 *-*import timeimport sysimport loggingfrom socket import *host = "127.0.0.1"port = 8000def Test():global host,portbufsize=1024#print "Hello world"#logging.warn("there are some error")client =socket(AF_INET,SOCK_STREAM)client.connect((host,port))while True:data =raw_input("Please input sending data:")if not data or data =="exit":breakclient.send("%s" % data)data =client.recv(bufsize)if not data:breakprint data.strip()client.close()if __name__ == '__main__':Test()
0 0
- Python网络编程例子
- Python的网络编程
- python网络编程
- Python网络编程
- Python的网络编程
- python_网络编程
- Python PycURL 网络编程
- python中的网络编程
- Python网络编程基础
- python网络编程
- python 网络编程
- Python网络编程基础
- python网络编程解疑
- python 网络编程1
- python网络编程
- python 网络编程学习
- [Python] 网络编程(Socket)
- python 网络编程
- DSP TMS320F2812验证平台制作日志3
- C 语言中的指针和内存泄漏
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)
- poi知识积累
- webdriver一
- Python 网络编程
- The c++ output is unbelievable
- webdriverer
- Scale和Resolution的含义及转换算法
- [UVALive4864] Bit Counting && 数位DP
- 【白话经典算法系列之十七】 数组中只出现一次的数
- Java发HTTP POST请求(内容为xml格式)
- Java基本类型和引用类型
- Scramble String