from twisted.internet import protocol, reactor
import socket,os
socket_path = "/var/lib/nagios3/rw/live"
class Echo(protocol.Protocol):
def dataReceived(self, data):
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
s.connect(socket_path)
s.send(data)
s.shutdown(socket.SHUT_WR)
answer = s.recv(100000000)
self.transport.write(answer)
class EchoFactory(protocol.Factory):
def buildProtocol(self, addr):
return Echo()
reactor.listenTCP(6557, EchoFactory())
reactor.run()
Showing posts with label twisted. Show all posts
Showing posts with label twisted. Show all posts
Thursday, July 4, 2013
Bind livestatus unix socket to TCP socket use Python and twisted
Tuesday, August 17, 2010
极速 Twisted Web 60秒(6): 定制返回代码
[cc lang="python"]from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.internet import reactor
class PaymentRequired(Resource):
def render_GET(self, request):
request.setResponseCode(402)
return "Please swipe your credit card."
root = Resource()
root.putChild("buy", PaymentRequired())
factory = Site(root)
reactor.listenTCP(8880, factory)
reactor.run() [/cc]
from twisted.web.resource import Resource
from twisted.internet import reactor
class PaymentRequired(Resource):
def render_GET(self, request):
request.setResponseCode(402)
return "Please swipe your credit card."
root = Resource()
root.putChild("buy", PaymentRequired())
factory = Site(root)
reactor.listenTCP(8880, factory)
reactor.run() [/cc]
Wednesday, August 11, 2010
极速 Twisted Web 60秒(5): 错误句柄
[cc lang="python"]
from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.internet import reactor
from twisted.web.error import NoResource
from calendar import calendar
class YearPage(Resource):
def __init__(self, year):
Resource.__init__(self)
self.year = year
def render_GET(self, request):
return "
class Calendar(Resource):
def getChild(self, name, request):
try:
year = int(name)
except ValueError:
return NoResource()
else:
return YearPage(year)
root = Calendar()
factory = Site(root)
reactor.listenTCP(8880, factory)
reactor.run()
[/cc]
from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.internet import reactor
from twisted.web.error import NoResource
from calendar import calendar
class YearPage(Resource):
def __init__(self, year):
Resource.__init__(self)
self.year = year
def render_GET(self, request):
return "
%s" % (calendar(self.year),)
class Calendar(Resource):
def getChild(self, name, request):
try:
year = int(name)
except ValueError:
return NoResource()
else:
return YearPage(year)
root = Calendar()
factory = Site(root)
reactor.listenTCP(8880, factory)
reactor.run()
[/cc]
Monday, August 9, 2010
极速 Twisted Web 60秒(4): 动态URL处理
[cc lang="python"]
from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.internet import reactor
from calendar import calendar
class YearPage(Resource):
def __init__(self, year):
Resource.__init__(self)
self.year = year
def render_GET(self, request):
return "
class Calendar(Resource):
def getChild(self, name, request):
return YearPage(int(name))
root = Calendar()
factory = Site(root)
reactor.listenTCP(8880, factory)
reactor.run()
[/cc]
from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.internet import reactor
from calendar import calendar
class YearPage(Resource):
def __init__(self, year):
Resource.__init__(self)
self.year = year
def render_GET(self, request):
return "
%s" % (calendar(self.year),)
class Calendar(Resource):
def getChild(self, name, request):
return YearPage(int(name))
root = Calendar()
factory = Site(root)
reactor.listenTCP(8880, factory)
reactor.run()
[/cc]
Friday, August 6, 2010
极速 Twisted Web 60秒(3): 静态URL处理
[cc lang="python"]
from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.internet import reactor
from twisted.web.static import File
root = Resource()
root.putChild("foo", File("/tmp"))
root.putChild("bar", File("/lost+found"))
root.putChild("baz", File("/opt"))
factory = Site(root)
reactor.listenTCP(8880, factory)
reactor.run()
[/cc]
from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.internet import reactor
from twisted.web.static import File
root = Resource()
root.putChild("foo", File("/tmp"))
root.putChild("bar", File("/lost+found"))
root.putChild("baz", File("/opt"))
factory = Site(root)
reactor.listenTCP(8880, factory)
reactor.run()
[/cc]
Thursday, August 5, 2010
极速 Twisted Web 60秒(2): 生成动态页面
[cc lang="python"]
from twisted.internet import reactor
from twisted.web.server import Site
from twisted.web.resource import Resource
import time
class ClockPage(Resource):
isLeaf = True
def render_GET(self, request):
return "%s" % (time.ctime(),)
resource = ClockPage()
factory = Site(resource)
reactor.listenTCP(8880, factory)
reactor.run()
[/cc]
from twisted.internet import reactor
from twisted.web.server import Site
from twisted.web.resource import Resource
import time
class ClockPage(Resource):
isLeaf = True
def render_GET(self, request):
return "%s" % (time.ctime(),)
resource = ClockPage()
factory = Site(resource)
reactor.listenTCP(8880, factory)
reactor.run()
[/cc]
Tuesday, August 3, 2010
极速 Twisted Web 60秒(1): 访问静态目录文件
[cc lang='python' ]
from twisted.web.server import Site
from twisted.web.static import File
from twisted.internet import reactor
resource = File('/tmp')
factory = Site(resource)
reactor.listenTCP(8888, factory)
reactor.run()
[/cc]
from twisted.web.server import Site
from twisted.web.static import File
from twisted.internet import reactor
resource = File('/tmp')
factory = Site(resource)
reactor.listenTCP(8888, factory)
reactor.run()
[/cc]
Subscribe to:
Posts (Atom)