Mercurial > code > home > repos > light9
comparison light8/ExternalInput.py @ 90:d34a4956417a
rsn has a separate thread that receives rlslider connections from a potserver.py process,
rsn has a separate thread that receives rlslider connections from a potserver.py process,
and they work
author | drewp |
---|---|
date | Sat, 13 Jul 2002 02:57:27 +0000 |
parents | 0969d8a6729d |
children | d6c48d2d3bd6 |
comparison
equal
deleted
inserted
replaced
89:0459cecf8145 | 90:d34a4956417a |
---|---|
1 import thread, SocketServer | 1 import thread, SocketServer, socket |
2 | |
3 | |
4 currentlevels = [0,0,0,0] | |
5 | |
2 | 6 |
3 class NetSliderHandler(SocketServer.StreamRequestHandler): | 7 class NetSliderHandler(SocketServer.StreamRequestHandler): |
4 def handle(self): | 8 def handle(self): |
5 data = self.rfile.readline(1000) | 9 data = self.rfile.readline(1000) |
10 currentlevels[:] = [float(x)/255 for x in list(data.split())] | |
6 | 11 |
7 def start_server(levelstorage): | 12 def start_server(levelstorage=0): |
8 server = SocketServer.TCPServer( | 13 server = SocketServer.TCPServer( |
9 ('', socket.getservbyname('rlslider', 'tcp')), | 14 ('', socket.getservbyname('rlslider', 'tcp')), |
10 NetSliderHandler) | 15 NetSliderHandler) |
11 server.serve_forever() | 16 server.serve_forever() |
12 | 17 |
21 pass | 26 pass |
22 # thread.start_new_thread(start_server, (self.update)) | 27 # thread.start_new_thread(start_server, (self.update)) |
23 def update(self, *args): | 28 def update(self, *args): |
24 self.level_storage[:] = args | 29 self.level_storage[:] = args |
25 def get_levels(self): | 30 def get_levels(self): |
26 import math, time | 31 return currentlevels |
27 return [max(0, math.sin(time.time() + i)) for i in range(4)] # bogus | 32 # import math, time |
33 # return [max(0, math.sin(time.time() + i)) for i in range(4)] # bogus | |
28 | 34 |
29 # return self.level_storage | 35 # return self.level_storage |