Antes de nada: Si esta pregunta ya está expuesta en otro sitio, lo siento. No lo he visto. Y sí, lo he buscado.
Últimamente me he decidido a aprender a usar los sockets de Blender. Con la guía Python para todos he empezado con los ejemplos y creo que he entendido como funciona, pero. Cuando llego a la línea 7 socket_s, bind(localhost, 9999) empiezan los problemas.
Cuando pongo como IP localhost, Blender continua hasta la línea 14 [print petición recibida], pero cuando pongo una IP como, por ejemplo, 192.168.29.25 la consola de Blender me dice que el valor indicado no es válido para este contexto.
¿Cómo es eso posible si se trata de un valor IP, justo lo que se tiene que poner ahí? (ponerlo sin comillas no funciona).
¿Alguien que me lo pueda explicar?
Otra duda qué me ha surgido según copiaba la parte del bucle:
¿Es necesario poner if en la línea 25?
Esto me surgió por que en el manual no lo pone. Supongo que no es necesario por que ya está en un bucle condicionado, pero no tengo mucho entendimiento de programación en Python.
Aquí dejo el script servidor que es el que por ahora me está dando todos los problemas:
Código:
import socket.
# creamos el objeto servidor
socket_s = socket, socket().
# Indicamos la IP y el puerto de escucha del servidor
socket_s, bind((localhost, 9999)).
# Hacemos que se ponga a escuchar y cuando recibe un mensaje crea la tupla del host y puerto de escucha de este.
Print Escuchando localhost en el puerto 9999\nsocket_s, listen(10).
Print petición recibida.
Socket_c, (host_c, puerto_c) = socket_s, accept()
print Conexión aceptada.
# Ahora, con el objeto socket podemos comunicarnos con el del cliente mediante send y recv.
while True:
recibido = socket_c, recv(1024)
print Recibido:, recibido
socket_c, send(recibido)
if recibido == adiós:
break.
# ahora hago que cuando este termine de trabajar se cierre usando el comando close.
Socket_c, close()
socket_s, close()
.
Por si acaso a alguien se le ocurre preguntarme:
Si he leído el texto. No he copiado el ejemplo del manual sin tratar de entender primero como funciona. Un saludo y gracias.
Posdata: agradezco que quien responda se suscriba al tema por si me surgen más dudas al respecto.
Posdata: El manual se encuentra en Scribd. Para quien quiera comprobar los pasos que he seguido.