# -*- coding: utf-8 -*- from SocketServer import TCPServer, StreamRequestHandler class Handle(StreamRequestHandler): def handle(self): addr = self.request.getpeername() #获取与套接口相连的端地址 print 'got connection from', addr self.wfilie.write('thanks you for connecting') server = TCPServer((' ', 1234), Handler) server.server_forever() 运行后 报 name 'Handler' is not defined错误 ps:python 2.7
从发一下,
# -*- coding: utf-8 -*-
from SocketServer import TCPServer, StreamRequestHandler
class Handle(StreamRequestHandler):
def handle(self):
addr = self.request.getpeername() #获取与套接口相连的端地址
print 'got connection from', addr
self.wfilie.write('thanks you for connecting')
server = TCPServer((' ', 1234), Handler)
server.server_forever()
运行后 报 name 'Handler' is not defined错误 ps:python 2.7
关于python 的 socketserver 的 TCPServer
答案:2 悬赏:0 手机版
解决时间 2021-02-19 08:57
- 提问者网友:你给我的爱
- 2021-02-18 21:25
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-02-18 22:05
额,
class Handle(StreamRequestHandler):
class Handler(StreamRequestHandler):
class Handle(StreamRequestHandler):
class Handler(StreamRequestHandler):
全部回答
- 1楼网友:荒野風
- 2021-02-18 22:11
这个关系,先看socketserver模块,它有5个基本的服务类:baseserver tcpserver udpserver unixstreamserver unixdatagramserver. 处理类有baserequesthander streamrequesthandler
其中baseserver多用来被继承重写.实际用到的就其他四个类.
其中tcpserver又派生出basehttpserver simplehttpserver cgihttpserver simplexmlrpcserver docxmlrpcserver等
应用:服务器收到一个请求(来自客户端的连接)时,就会实例化一个请求处理程序,并且它的各种处理方法会在处理请求时被调用。基本的baserequesthander类把所有的操作都放到了处理器的handle()方法中, 这个方法会被服务器调用,然后访问属性self.request中的客户端套接字。如果使用的是流(tcpserver)可以使用streamrequesthander类来创建两个新属性self.rfile(用于读取)和self.wfile(用于写入),然后使用这些类文件对象和客户机进行通信。
实例:使用socketserver模块创建一个小型服务器
from socketserver import tcpserver, streamrequesthandler
class handler(streamrequesthandler):
def handle(self):
addr = self.request.getpeername()
print '获取的连接来自:', addr
self.wfile.write('恭喜你, 连接成功')
server = tcpserver(('', 1234), handler)
server.serve_forever()
handler类中的request属性为socket对象
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯