2010-02-11 8 views
6

Busqué en los documentos de socket python y google durante dos días, pero no encontré ninguna respuesta. Sí, soy un novato de programación en red :)secuencia de transmisión enviar/recibir mensajes de difusión?

Me gustaría implementar algún sistema de chat LAN con funciones específicas para nuestras necesidades. Estoy al principio. Pude implementar un modelo cliente-servidor donde el cliente se conecta al servidor (socket.SOCK_STREAM) y pueden cambiar los mensajes. Quiero dar un paso adelante. Quiero que el cliente descubra la LAN con una transmisión de cuántos otros clientes están disponibles. Fallé. ¿Es posible que un socket tipo socket.SOCK_STREAM no se pueda usar para esta tarea? Si es así, ¿cuáles son mis oportunidades? usando paquetes udp? ¿Cómo tengo que escuchar los mensajes/paquetes de difusión?

Respuesta

4

La transmisión está definida por la dirección de destino.

Por ejemplo si su propia ip es 192.168.1.2, la dirección de difusión sería 192.168.1.255 (en la mayoría de los casos)

No está relacionado directamente con pitón y probablemente no será en su documentación. Está buscando por la red de conocimiento "general", a un nivel mucho más alto que los zócalos programación

* EDITAR

Sí tienes razón, no se puede utilizar SOCK_STREAM. SOCK_STREAM define la comunicación TCP. Debe usar UDP para transmitir con socket.SOCK_DGRAM

+0

Gracias, Eric, voy a modificar mi código para cambiar a la comunicación del datagrama. – sipiatti

+0

ah bien, hecho. No sabía eso. – sipiatti

Cuestiones relacionadas