Пример #1
0
    def init_server(self):
        # an example response of how one might create the deferred
        def example_response(datagram):
            key = (key for key, value in TESTPACKETS.items()
                   if value == datagram).next()
            return TESTRESPONSES[key]

        from twisted.test import proto_helpers
        self.echo_proto = ServerFactory('udp', lambda: Deferred())
        self.proto = ServerFactory(
            'udp', lambda: Deferred().addCallback(example_response))
        self.tr = proto_helpers.FakeDatagramTransport()
        for pr in [self.echo_proto, self.proto]:
            pr.transport = self.tr
            pr.startProtocol()
Пример #2
0
def engage(proto='udp'):
    ''' Fire thrusters.
    '''
    from ironman.server import ServerFactory
    from twisted.internet import reactor
    from twisted.internet.defer import Deferred
    getattr(reactor, 'listen{0:s}'.format(proto.upper()))(8888,
                                                          ServerFactory(
                                                              proto, Deferred))
    reactor.run()
Пример #3
0
from ironman.history import History
h = History()

from ironman.server import ServerFactory
from ironman.packet import IPBusPacket
from twisted.internet import reactor
from twisted.internet.defer import Deferred


def deferredGenerator():
    return Deferred().addCallback(IPBusPacket).addCallback(j).addCallback(
        buildResponsePacket)  #.addCallback(h.record)


reactor.listenUDP(8888, ServerFactory('udp', deferredGenerator))
'''set up a web server from top level: http://imgur.com/jCQlfrm'''
# Site, an IProtocolFactory which glues a listening server port (IListeningPort) to the HTTPChannel implementation
from twisted.web.server import Site
# File, an IResource which glues the HTTP protocol implementation to the filesystem
from twisted.web.static import File
reactor.listenTCP(8000, Site(File("/")))
'''set up a mirror web server for IPBus requests'''
from twisted.web.resource import Resource
# deferred responses
from twisted.web.server import NOT_DONE_YET
# return json
import json


class HTTPIPBusRoot(Resource):