Yo hago la conexión así: self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.dir = (ip, 5000) self.socket.connect(self.dir) self.socket.setblocking(0) time.sleep(0.5)
No puedo decirte mucho más porque habría que ver el código del punto remoto ya que ese error te dice que el punto remoto te ha rechazado la conexión. El 6 de junio de 2015, 18:42, Rolando Paz <flx...@gmail.com> escribió: > Gracias por tu correo Flavio. > > Adjunto se encuentra una de las pruebas que hice en función de modificar > dicho script y lograr graficar los datos que salen de mi IBOB. > > Al ejecutar el modulo plot_auto_ethernet.py aparece el siguiente error: > > Traceback (most recent call last): > File "/usr/local/bin/plot_auto_ethernet.py", line 37, in <module> > brd = arte.ibob_ethernet.IbobClient(ip, port) > File "/usr/local/lib/python2.7/dist-packages/arte/ibob_ethernet.py", > line 27, in __init__ > self._listdev() > File "/usr/local/lib/python2.7/dist-packages/arte/ibob_ethernet.py", > line 44, in _listdev > line = file.readline() > File "/usr/lib/python2.7/socket.py", line 447, in readline > data = self._sock.recv(self._rbufsize) > socket.error: [Errno 111] Connection refused > > Tienes alguna sugerencia? > > Saludos > > Rolando Paz > El jun 6, 2015 3:30 PM, "Flavio Danesse" <fdane...@gmail.com> escribió: > > En el script antes de leer del socket, se escribe en él. > Al parecer lee cuando el punto remoto le contesta, quizas debas hacer > cambios en esta función. > > def flush_text_buffers(self): > self.ser.write('\n') > time.sleep(1) > self.ser.flushInput() > #self.ser.flushOutput() > self.ser.write('\n') > line = self.ser.read(9) > if line != '\n\rIBOB % ': raise Exception("Bad Reply: '%s'"%line) > > Y toma en cuenta que UDP no te asegura la entrega de los datos. > No puedo ayudarte mucho más porque el caso que planteas es muy específico. > Yo tengo hecho un juego multiplayer con sockets pero utilizando tcp. > *los datos los mando así:* > > datos = "%s\n" % datos > self.socket.sendall(datos) > time.sleep(0.02) > > *Y los recibo así:* > > entrada = "" > while not entrada: > try: > entrada = self.socket.recv(1024) > entrada = entrada.replace("*", "").strip() > except socket.error, err: > ... > time.sleep(0.02) > return entrada > > Todo esto es del lado de los clientes y es un proceso que se repite cada > 35 milesimas de segundo. > El servidor es mucho mas complejo porque es multihilo, ahí > utilizo SocketServer.StreamRequestHandler, SocketServer.ThreadingMixIn y > SocketServer.ThreadingTCPServer > > El 5 de junio de 2015, 19:49, Rolando Paz <flx...@gmail.com> escribió: > >> Hola nuevamente a todos. >> >> Pueden darme sugerencias sobre cómo puedo modificar el script adjunto que >> utiliza el puerto serial para comunciarse y cambiarlo para usar el puerto >> ethernet? >> >> Especificamente yo necesito obtener datos por UDP. >> >> Estaré muy agradecido por cualquier sugerencia, pues ya hice varios >> intentos y no lo logro :-) >> >> Estoy seguro que debo usar lo siguiente: >> >> HOST = '169.254.128.32' >> PORT = 6969 >> >> #set up receiver using UDP sockets >> socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) >> socket.connect((HOST, PORT)) >> >> resp = socket.recv(4096) >> >> Pero no logro integrar estas lineas en el script ibob_serial.py >> >> Saludos >> >> Rolando >> >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/