Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def threadSocket(Socket, port):
- '''
- Thread encargado de sotener comunicacion entre Socket cliente y
- el puerto serial asignado
- Mientras se mantenga activo el thread de recepcion se intentara leer del
- puerto serial y enviarlo al socket cliente
- Se asume que socket y port son objetos vaidos validos
- '''
- #Intenta abrir el puerto serial
- try:
- COM = serial.Serial(port-1)
- except:
- #Si esta en uso no se encuentra disponible, muestra error
- print 'Error: Puerto COM'+str(port)+' no disponible'
- else:
- #Al conectarse se crea el thread de recepcion
- print 'Conectado a puerto COM'+str(port)
- rxThread = threading.Thread(target=rxThreadDef,args=(Socket,COM))
- rxThread.start()
- dato = ''
- #Mientras el thread este activo
- while rxThread.isAlive():
- try:
- #Lee del puerto serial y envia a Socket cliente
- dato += COM.read()
- if parserCOMToSocket(dato):
- Socket.send(dato)
- dato=''
- except:
- break
- print "Puerto cerrado!"
- #Cierra puerto Serial
- COM.close()
- #Cierra Socket
- Socket.close()
- #print "Hilo terminado"
- def rxThreadDef(Socket,COM):
- '''
- Thread (Hilo) encargado de recibir la informacion del Cliente
- y enviarla por medio del puerto serial
- Si se genera algun error se rompe el ciclo y termina el thread
- '''
- dato = ''
- while 1:
- try:
- d = Socket.recv(1024)
- except:
- break
- if d:
- dato += d
- if parserSocketToCOM(dato):
- COM.write(dato)
- print dato
- dato = ''
- else:
- break
- def parserSocketToCOM(dato):
- return True
- def parserCOMToSocket(dato):
- return True
Add Comment
Please, Sign In to add comment