14/06/08 5:58
salve ragazzi
nel mio programma di chat multiclient e' da qualche giorno che sto' facendo varie prove per vedere quale e' il metodo migliore per inviare i messaggi a tutti client connessi....
ogni volta che un client si connette l'indice del winsock aumenta ed io lo ho legato ad una variabile di tipo interger...al momento della connessione...
quando e' ora di inviare i messaggi a tutti i client faccio un ciclo for con tutti gli elementi della lst(0) che dovrebbero corrispondere all'indice winsock
il problema e' che facendo cosi' mi invia il messaggio solo all'ultimo client connesso....
vi invio anche un esempio.....
nel mio programma di chat multiclient e' da qualche giorno che sto' facendo varie prove per vedere quale e' il metodo migliore per inviare i messaggi a tutti client connessi....
ogni volta che un client si connette l'indice del winsock aumenta ed io lo ho legato ad una variabile di tipo interger...al momento della connessione...
If clientindex = 1 Then Load Ws(clientindex) Ws(clientindex).Close Ws(clientindex).Accept requestID clientindex = clientindex + 1 ElseIf clientindex > 1 Then Load Ws(clientindex) Ws(clientindex).Close Ws(clientindex).Accept requestID clientindex = clientindex + 1 End If lst(0).AddItem clientindex - 1
quando e' ora di inviare i messaggi a tutti i client faccio un ciclo for con tutti gli elementi della lst(0) che dovrebbero corrispondere all'indice winsock
For i = (lst(0).ListCount - 1) To 0 Step -1 On Error Resume Next If Ws(lst(0).List(i)).State = 7 Then Ws(lst(0).List(i)).SendData "wow/-/" & "ciao" End If Next i
il problema e' che facendo cosi' mi invia il messaggio solo all'ultimo client connesso....
vi invio anche un esempio.....