[VB.NET] Problem z SendData w Winsock

Witam

 

Pisze właśnie grę online na wiele graczy. Klienty gry mają po jednej kontrolce Winsock, a serwer sześć (bo tyle może być maksymalnie graczy). Zrobiłem tak że wszyscy próbują się połączyć do pierwszej kontrolki na porcie 7601, a jeżeli jest już ona połączona z innym graczem to próbuje się połączyć z drugą na porcie 7602 itd. Kod sprawdziłem wszystkie klienty ładnie się łączyły, jeden po drugim i wszystkie miały status nr 7, czyli połączony. W tym momencie gdy wywołuje linijkę:

winsckg1.SendData("TEKST")

Pierwszy klient potwierdza odebranie danych, i tak samo reaguje reszta klientów gdy zmieniam cyfre w instrukcji na 2, 3, 4, 5, 6. Problem polega na tym że jeżeli chce użyć procedury:

Sub wyslijdowszystkich()
winsckg1.SendData("TEKST")
winsckg2.SendData("TEKST")
winsckg3.SendData("TEKST")
winsckg4.SendData("TEKST")
winsckg5.SendData("TEKST")
winsckg6.SendData("TEKST")
End Sub

to dane odbiera tylko ostatni klient który jest podłączony, a reszta milczy chociaż można się z nimi skontaktować wywołując pojedynczo linijki kodu.

 

Jak rozwiązać ten problem?

Z góry dziękuję za pomoc.

Hmm, a czemu robisz 6 socketów w serwerze zamiast jednego?

Raz, że to mało efektywne, a dwa, musisz pilnować każdy oddzielnie. Do tego blokujesz aż  6 portów zamiast tylko jednego.

 

O ile dobrze mi wiadomo nie można podłączyć 6 komputerów pod jeden port.

No to źle ci wiadomo

http://stackoverflow.com/a/5522314/1778101