Python 网络编程 - 商讯 - 新余市思创暖通工贸有限公司
现在的位置: 主页 > 商讯 > 文章正文
Python 网络编程
作者:新余市思创暖通工贸有限公司 来源:www.jxsichuang.com 发布时间:2017-09-06 09:15:08
Python 网络编程

今天学习了一个python 网络编程,感觉比较简单,也就是基本那几步,create--bind---listen -->receive/send---->close.

还学习一个Tcp版 Server编程框架,可以支持多个socket连接的那种。感觉也还可以。其中最简单的框架为TCPServer+BaseRequestHandler:。简单的例子如下:

import SocketServer #本程序可以支持多个客户端连接请求 class MyRequestHandler(SocketServer.BaseRequestHandler): #self.request其实就是一个socket def handle(self): addr =self.request.getpeername() print got connection from,addr while True: #当客户端主动断开连接时,站群软件,self.recv(1024)会抛出异常 try: #read 1024 byte each time ,and remove empty letter including(space tab ) data = self.request.recv(1024).strip() if not data: break print receive from(%s):%s %(self.client_address,data) self.request.sendall(data.upper()) except: traceback.print_exc() break self.request.close() addr=('127.0.0.1',8000) server =SocketServer.ThreadingTCPServer(addr,MyRequestHandler) server.serve_forever() #只是反复调用handle_request() #server.handle_request() #一个一个的处理链接请求。


客户端为:

# *_* coding=gb2312 *-* import time import sys import logging from socket import * host = 127.0.0.1 port = 8000 def Test(): global host,port bufsize=1024 #print Hello world #logging.warn(there are some error) client =socket(AF_INET,SOCK_STREAM) client.connect((host,port)) while True:www.2cto.com data =raw_input(Please input sending data:) if not data or data ==exit: break client.send(%s % data) data =client.recv(bufsize) if not data: break print data.strip() client.close() if __name__ == '__main__': Test()

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:潜江SEO http://qianjiang.raoyu.net


  • 上一篇:Python基础(int类)
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 新余市思创暖通工贸有限公司 ALL RIGHTS RESERVED.
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100