Przeglądaj źródła

Made TUIO server more robust against stopping of the program.

Taddeus Kroes 14 lat temu
rodzic
commit
9d8eeec9ab
1 zmienionych plików z 11 dodań i 4 usunięć
  1. 11 4
      src/tuio_server.py

+ 11 - 4
src/tuio_server.py

@@ -15,7 +15,7 @@ class TuioServer2D(Logger):
 
         # OSC server that listens to incoming TUIO events
         self.server = OSCServer(self.__class__._tuio_address)
-        #self.server.addDefaultHandlers()
+        self.server.addDefaultHandlers()
         self.server.addMsgHandler('/tuio/2Dobj', self._receive)
         self.server.addMsgHandler('/tuio/2Dcur', self._receive)
         self.server.addMsgHandler('/tuio/2Dblb', self._receive)
@@ -67,8 +67,11 @@ class TuioServer2D(Logger):
                 self.handler_obj.point_down(sid, x, y)
 
     def start(self):
-        self.log('Starting OSC server')
-        self.server.serve_forever()
+        try:
+            self.log('Starting OSC server')
+            self.server.serve_forever()
+        except SystemExit:
+            self.stop()
 
     def stop(self):
         self.log('Stopping OSC server')
@@ -90,4 +93,8 @@ if __name__ == '__main__':
 
     v = 1 if len(sys.argv) < 2 else int(sys.argv[1])
     server = TuioServer2D(Handler(verbose=v), verbose=v)
-    server.start()
+
+    try:
+        server.start()
+    except KeyboardInterrupt:
+        server.stop()