2012-03-10 21 views
6

Muszę utworzyć program Java symulujący około 50-100 węzłów. Chcę przetestować kilka algorytmów routingu i przeanalizować wydajność sieci. Próbowałem symulować węzły za pomocą wątków, ale wykorzystanie mojego procesora wzrasta jak wszystko, gdy używam więcej wątków. Czy istnieje metoda symulacji sieci w Javie? Jeśli tak, to w jaki sposób?Symulacja LAN za pomocą Java?

+1

Czy nie chcesz wykonywać * dlaczego * to "idzie w górę jak nic", ponieważ Java może obsługiwać wiele wątków? –

+0

Jeśli nie masz tysięcy połączeń, nie powinno to stanowić problemu. –

+1

Bez jakiegoś kodu nikt nie jest w stanie powiedzieć, dlaczego wykorzystanie procesora rośnie. Jeśli używasz wątków poprawnie, będą spędzać większość czasu czekając na "zdarzenia" (timer lub przepływ danych) i zużywają bardzo mało procesora. Może masz pętlę zajętości? –

Odpowiedz

2

Można utworzyć serwer proxy, który przekazuje ruch po opóźnieniu, który może obejmować opóźnienie oparte na ograniczeniu przepustowości. To nie jest tak dobre, jak prawdziwa sieć LAN pokazująca wszystkie problemy, jakie możesz mieć, ale może to być dobry początek.