SocketServer module

3 篇文章 0 订阅

介绍

  • SocketServer 是一个高级别的模块在标准库里
  • 他的目标是简单的模版化绝大多数代码,非常简单的创建网络客户端和服务器端。
  • 在这个模块里有很多的类方便你使用
  • 隐藏很多细节对你编码过程
    -面向对象的方法帮助我们组织数据和逻辑功能
    • 我们的应用将是基于事件驱动

各种类的继承关系

这里写图片描述

请求句柄的继承关系

这里写图片描述

Server

import SocketServer
import time
# This class actually implements the server functionality
class MyRequestHandler(SocketServer.StreamRequestHandler):
  def handle(self):
print '...connected from:', self.client_address
self.wfile.write('[%s] %s' % (ctime(),
self.rfile.readline()))
# Create the server
server = SocketServer.TCPServer(("",21567), MyRequestHandler)
print 'waiting for connection...'
server.serve_forever()

Client

from socket import *
BUFSIZ = 1024
while True:
  tcpCliSock = socket(AF_INET, SOCK_STREAM)
  tcpCliSock.connect(('localhost', 21567))
  data = raw_input('> ')
  if not data:
break
tcpCliSock.send('%s\r\n' % data)
data = tcpCliSock.recv(BUFSIZ)
if not data:
break
print data.strip()
tcpCliSock.close()

客户端与服务端交互

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值