我正在尝试在python中构建DNS服务器.它必须侦听两个端口(8007 - 客户端,8008 - 管理员).客户端仅发送URL并接收相应的IP.管理员有权更改DNS表(添加,删除,...现在对此无关紧要).
所以我的问题是:如何在两个端口上连续监听服务器以获取任何最终请求(我们可以同时拥有多个客户端,但只有一个管理员在运行时)
我的服务器有一个监听端口:
来自SocketServer import*from threading import*from string import*import socket
class Server(ForkingMixIn, TCPServer): pass #fork for each client
class Handler(StreamRequestHandler):
def handle(self):
addr = self.request.getpeername()
print 'Got connection from', addr
data=(self.request.recv(1024)).strip()
if data not in dic: #dic -> dictionary with URL:IP
self.wfile.write('0.0.0.0')
else:
self.wfile.write(dic.get(data))
server = Server(('', 8007), Handler)
server.serve_forever()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1705 次 |
| 最近记录: |