2012-03-10 40 views
6

Tôi phải tạo một chương trình Java mô phỏng khoảng 50-100 nút. Tôi muốn thử nghiệm một vài thuật toán định tuyến và phân tích hiệu suất mạng. Tôi đã cố gắng mô phỏng các nút với chủ đề, nhưng việc sử dụng CPU của tôi tăng lên như bất cứ điều gì khi tôi sử dụng nhiều chủ đề hơn. Có một phương pháp để mô phỏng một mạng trong Java. Nếu vậy thì sao?Mô phỏng LAN bằng Java?

+1

Bạn sẽ không muốn theo đuổi * tại sao * nó "đi lên như bất cứ điều gì", kể từ khi Java có thể xử lý rất nhiều chủ đề? –

+0

Trừ khi bạn có hàng nghìn kết nối, đây không phải là vấn đề. –

+1

Nếu không có một số mã, không ai thực sự có thể cho bạn biết tại sao mức sử dụng CPU của bạn tăng cao. Nếu bạn sử dụng chủ đề một cách chính xác, họ sẽ dành phần lớn thời gian của họ chờ đợi cho "sự kiện" (bộ đếm thời gian hoặc luồng dữ liệu) và tiêu thụ rất ít CPU. Có lẽ bạn có một vòng chờ đợi bận rộn? –

Trả lời

2

Bạn có thể tạo máy chủ proxy chuyển lưu lượng truy cập sau một sự chậm trễ có thể bao gồm độ trễ dựa trên giới hạn băng thông. Đây không phải là một mạng LAN thực sự trong việc hiển thị tất cả các vấn đề bạn có thể có, nhưng nó có thể là một khởi đầu tốt.