本文整理汇总了Python中BitTorrent.RawServer_twisted.RawServer.listen_once方法的典型用法代码示例。如果您正苦于以下问题:Python RawServer.listen_once方法的具体用法?Python RawServer.listen_once怎么用?Python RawServer.listen_once使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BitTorrent.RawServer_twisted.RawServer
的用法示例。
在下文中一共展示了RawServer.listen_once方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from BitTorrent.RawServer_twisted import RawServer [as 别名]
# 或者: from BitTorrent.RawServer_twisted.RawServer import listen_once [as 别名]
class Network:
def __init__(self, size=0, startport=5555, localip='127.0.0.1'):
self.num = size
self.startport = startport
self.localip = localip
def _done(self, val):
self.done = 1
def simpleSetUp(self):
#self.kfiles()
d = dict([(x[0],x[1]) for x in common_options + rare_options])
self.r = RawServer(Event(), d)
self.l = []
for i in range(self.num):
self.l.append(UTKhashmir('', self.startport + i, 'kh%s.db' % (self.startport + i), self.r))
for i in self.l:
i.addContact(self.localip, self.l[randrange(0,self.num)].port)
i.addContact(self.localip, self.l[randrange(0,self.num)].port)
i.addContact(self.localip, self.l[randrange(0,self.num)].port)
self.r.listen_once(1)
self.r.listen_once(1)
self.r.listen_once(1)
for i in self.l:
self.done = 0
i.findCloseNodes(self._done)
while not self.done:
self.r.listen_once(1)
for i in self.l:
self.done = 0
i.findCloseNodes(self._done)
while not self.done:
self.r.listen_once(1)
def tearDown(self):
for i in self.l:
i.rawserver.stop_listening_udp(i.socket)
i.socket.close()
#self.kfiles()
def kfiles(self):
for i in range(self.startport, self.startport+self.num):
try:
os.unlink('kh%s.db' % i)
except:
pass
self.r.listen_once(1)
示例2: SimpleTests
# 需要导入模块: from BitTorrent.RawServer_twisted import RawServer [as 别名]
# 或者: from BitTorrent.RawServer_twisted.RawServer import listen_once [as 别名]
class SimpleTests(TestCase):
def setUp(self):
d = dict([(x[0],x[1]) for x in common_options + rare_options])
self.r = RawServer(d)
self.a = self.r.create_udpsocket(8051, '127.0.0.1')
self.b = self.r.create_udpsocket(8052, '127.0.0.1')
def tearDown(self):
self.a.close()
self.b.close()
def Handler(self, expected):
class h(object):
def __init__(self, expected, a=self.assertEqual):
self.expected = expected
self.a = a
def data_came_in(self, connection, data):
self.a(self.expected, data)
return h(expected)
def testFoo(self):
self.r.start_listening_udp(self.a, self.Handler(''))
self.r.start_listening_udp(self.b, self.Handler('foo'))
self.a.sendto("foo", 0, ('127.0.0.1', 8052))
self.r.listen_once()
def testBackForth(self):
self.r.start_listening_udp(self.a, self.Handler('bar'))
self.r.start_listening_udp(self.b, self.Handler('foo'))
self.a.sendto("foo", 0, ('127.0.0.1', 8052))
self.r.listen_once()
self.b.sendto("bar", 0, ('127.0.0.1', 8051))
self.r.listen_once()
示例3: KRPCTests
# 需要导入模块: from BitTorrent.RawServer_twisted import RawServer [as 别名]
# 或者: from BitTorrent.RawServer_twisted.RawServer import listen_once [as 别名]
class KRPCTests(TestCase):
def setUp(self):
self.noisy = 0
d = dict([(x[0],x[1]) for x in common_options + rare_options])
self.r = RawServer(d)
addr = ('127.0.0.1', 1180)
self.as = self.r.create_udpsocket(addr[1], addr[0], True)
self.af = Receiver(addr)
self.a = hostbroker(self.af, addr, self.as, self.r.add_task)
self.r.start_listening_udp(self.as, self.a)
addr = ('127.0.0.1', 1181)
self.bs = self.r.create_udpsocket(addr[1], addr[0], True)
self.bf = Receiver(addr)
self.b = hostbroker(self.bf, addr, self.bs, self.r.add_task)
self.r.start_listening_udp(self.bs, self.b)
def tearDown(self):
self.as.close()
self.bs.close()
def testSimpleMessage(self):
self.noisy = 0
self.a.connectionForAddr(('127.0.0.1', 1181)).sendRequest('store', {'msg' : "This is a test."})
self.r.listen_once(0.01)
self.assertEqual(self.bf.buf, ["This is a test."])
def testMessageBlast(self):
self.a.connectionForAddr(('127.0.0.1', 1181)).sendRequest('store', {'msg' : "This is a test."})
self.r.listen_once(0.01)
self.assertEqual(self.bf.buf, ["This is a test."])
self.bf.buf = []
for i in range(100):
self.a.connectionForAddr(('127.0.0.1', 1181)).sendRequest('store', {'msg' : "This is a test."})
self.r.listen_once(0.01)
#self.bf.buf = []
self.assertEqual(self.bf.buf, ["This is a test."] * 100)
def testEcho(self):
df = self.a.connectionForAddr(('127.0.0.1', 1181)).sendRequest('echo', {'msg' : "This is a test."})
df.addCallback(self.gotMsg)
self.r.listen_once(0.01)
self.r.listen_once(0.01)
self.assertEqual(self.msg, "This is a test.")
def gotMsg(self, dict):
_krpc_sender = dict['_krpc_sender']
msg = dict['rsp']
self.msg = msg
def testManyEcho(self):
df = self.a.connectionForAddr(('127.0.0.1', 1181)).sendRequest('echo', {'msg' : "This is a test."})
df.addCallback(self.gotMsg)
self.r.listen_once(0.01)
self.r.listen_once(0.01)
self.assertEqual(self.msg, "This is a test.")
for i in xrange(100):
self.msg = None
df = self.a.connectionForAddr(('127.0.0.1', 1181)).sendRequest('echo', {'msg' : "This is a test."})
df.addCallback(self.gotMsg)
self.r.listen_once(0.01)
self.r.listen_once(0.01)
self.assertEqual(self.msg, "This is a test.")
def testMultiEcho(self):
self.noisy = 0
df = self.a.connectionForAddr(('127.0.0.1', 1181)).sendRequest('echo', {'msg' : "This is a test."})
df.addCallback(self.gotMsg)
self.r.listen_once(0.01)
self.r.listen_once(0.01)
self.assertEqual(self.msg, "This is a test.")
df = self.a.connectionForAddr(('127.0.0.1', 1181)).sendRequest('echo', {'msg' : "This is another test."})
df.addCallback(self.gotMsg)
self.r.listen_once(0.01)
self.r.listen_once(0.01)
self.assertEqual(self.msg, "This is another test.")
df = self.a.connectionForAddr(('127.0.0.1', 1181)).sendRequest('echo', {'msg' : "This is yet another test."})
df.addCallback(self.gotMsg)
self.r.listen_once(0.01)
self.r.listen_once(0.01)
self.assertEqual(self.msg, "This is yet another test.")
def testEchoReset(self):
self.noisy = 0
df = self.a.connectionForAddr(('127.0.0.1', 1181)).sendRequest('echo', {'msg' : "This is a test."})
df.addCallback(self.gotMsg)
self.r.listen_once(0.01)
self.r.listen_once(0.01)
self.assertEqual(self.msg, "This is a test.")
df = self.a.connectionForAddr(('127.0.0.1', 1181)).sendRequest('echo', {'msg' : "This is another test."})
df.addCallback(self.gotMsg)
self.r.listen_once(0.01)
self.r.listen_once(0.01)
self.assertEqual(self.msg, "This is another test.")
#.........这里部分代码省略.........