aboutsummaryrefslogtreecommitdiff
path: root/inputs
diff options
context:
space:
mode:
authorGravatar eugue <eug.sun@gmail.com>2011-01-24 14:41:38 -0500
committerGravatar eugue <eug.sun@gmail.com>2011-01-24 14:41:38 -0500
commit00e836cfa4e2652d724972585d661143142af002 (patch)
treef612ea43024f13dc8c16f192735676e9976630fc /inputs
parentd39f871cf9fcce13c6db315052a4951f692719f9 (diff)
merge with biginstall
Diffstat (limited to 'inputs')
-rw-r--r--inputs/TCPInput.py31
1 files changed, 22 insertions, 9 deletions
diff --git a/inputs/TCPInput.py b/inputs/TCPInput.py
index 197045f..e5475c1 100644
--- a/inputs/TCPInput.py
+++ b/inputs/TCPInput.py
@@ -1,7 +1,10 @@
import util.Strings as Strings
+import pdb
from operationscore.Input import *
import socket, json, time
import logging as main_log
+import string
+
class TCPInput(Input):
def inputInit(self):
self.HOST = '' # Symbolic name meaning all available interfaces
@@ -18,25 +21,35 @@ class TCPInput(Input):
def sensingLoop(self):
data = self.conn.recv(self.BUFFER_SIZE)
main_log.debug('Incoming data', data)
- if not data or 'end' in data: # data end, close socket
+ if not data or 'end' in data or data == '': # data end, close socket
main_log.debug('End in data')
+ print 'end of stream'
self.IS_RESPONDING = 0
+ self.conn.close()
self.sock.close()
- if self.IS_RESPONDING == 1: # if 'responding', respond to the received data
+ if self.IS_RESPONDING == 1: # if 'responding', respond to the received data
dataDict = json.loads(data)
- # socketDict = {'data':dataDict, 'address':self.address}
- socketDict = {Strings.LOCATION: (100 * (1 - dataDict['x'] / 10), 25 * (1 + dataDict['y'] / 10))} # like PygameInput
-
- self.respond(socketDict)
+ self.respond(dataDict)
+
+ #try:
+ # for datagroup in data.split('\n'):
+ # if datagroup != None and datagroup != '':
+ # dataDict = json.loads(datagroup)
+ # self.respond(dataDict)
+ # socketDict = {'data':dataDict, 'address':self.address}
+ #socketDict = {Strings.LOCATION: (dataDict['x'], dataDict['y'])} # like PygameInput
+ #print 'input'
+ #self.respond(socketDict)
+ #except Exception as exp:
+ # print str(exp)
else:
# if not 'responding', don't respond to data and restart socket
# * an incomplete hack for now. will be changed if same-type-multi-Input is implemented.
- time.sleep(1)
+
+ self.IS_RESPONDING = 1
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.sock.bind((self.HOST, self.PORT))
self.sock.listen(1)
(self.conn, self.address) = self.sock.accept()
- self.IS_RESPONDING = 1
-