2010-02-11 13 views
6

Ho sfogliato i documenti di python socket e google per due giorni ma non ho trovato nessuna risposta. Sì, sono un principiante della programmazione di rete :)socket di streaming per inviare/ricevere messaggi broadcast?

Vorrei implementare qualche sistema di chat LAN con una funzione specifica per le nostre esigenze. Sono all'inizio. Sono stato in grado di implementare un modello client-server in cui il client si connette al server (socket.SOCK_STREAM) e sono in grado di cambiare i messaggi. Voglio fare un passo avanti. Voglio che il client scopra la LAN con una trasmissione quanti altri client sono disponibili. Ho fallito. È possibile che non sia stato possibile utilizzare un socket socket tipo SOCK_STREAM per questa attività? Se sì, quali sono le mie opportunità? usando i pacchetti udp? Come devo ascoltare i messaggi/pacchetti brodcast?

risposta

4

La trasmissione è definita dall'indirizzo di destinazione.

Per esempio, se il vostro ip è 192.168.1.2, l'indirizzo di trasmissione sarebbe 192.168.1.255 (nella maggior parte dei casi)

Non è collegato direttamente al pitone e probabilmente non sarà nella sua documentazione. Siete alla ricerca di rete di conoscenze "generale", ad un livello molto più alto di prese di programmazione

* EDIT

Sì hai ragione, non è possibile utilizzare SOCK_STREAM. SOCK_STREAM definisce la comunicazione TCP. Dovresti usare UDP per trasmettere con socket.SOCK_DGRAM

+0

Grazie Eric, modifico il mio codice per passare alla comunicazione con datagramma. – sipiatti

+0

ah ok, fatto. Non lo sapevo. – sipiatti