2012-04-20 51 views
7

(Tôi đã tìm kiếm trước khi hỏi, nhưng tôi chỉ có thể tìm các kỹ thuật Java IPC nhanh nhất)Cách nhanh nhất để gửi gói tin giữa hai máy tính được kết nối?

Cách nhanh nhất để gửi gói tin giữa hai máy tính bằng Java (được kết nối bằng một cáp ethernet) trên Windows và Linux (nếu câu trả lời khác nhau cho mỗi hệ điều hành)?

Tôi đã đoán UDP sẽ nhanh hơn TCP (do giao thức bắt tay ba chiều của TCP), nhưng có cần cân nhắc thêm các yếu tố nào khác không?

Chúng tôi có bị giới hạn ở các ổ cắm (câu trả lời của Unix-specifc không?) Hoặc có các lựa chọn thay thế không? Những công nghệ nào có thể được sử dụng để gửi/nhận UDP nhanh nhất có thể?

Tương tự như vậy, có những cách hiệu suất cao cụ thể để nhận và đọc dữ liệu được gửi từ một máy tính khác không?

+4

Nếu bạn định bỏ phiếu "đóng", ít nhất là có quyết định giải thích tại sao. Câu hỏi này là hoàn toàn hợp lệ. – user997112

+1

Xác định "Nhanh". Bạn có lo lắng về độ trễ hoặc thông lượng không? UDP là tốt nếu bạn không nhớ một sự mất mát dữ liệu thường xuyên. – user949300

+1

@ user949300 Độ trễ quan trọng hơn là – user997112

Trả lời

2

Vâng, không có nhiều giữa TCP/UDP nếu bạn bỏ qua độ trễ kết nối/ngắt kết nối. Nếu giao thức của bạn có thể giữ một TCP conection lên và vô hiệu hóa không thích hợp, trễ tối ưu hóa như thuật toán Nagle, tôi không thấy lý do tại sao TCP nên được đánh tắt như một giải pháp, mặc dù có những biến chứng nhẹ của yêu cầu một giao thức trên đầu trang để trao đổi bất kỳ thư nào lớn hơn một byte.

Hầu hết tốc độ mạng và hiệu suất thời gian chờ thường bị giới hạn bởi các ràng buộc phy và tuyến đường. Nhìn vào một gói giữa hai đồng nghiệp, nó không quan trọng quá nhiều giao thức IP bạn sử dụng kể từ các router dodgy, các liên kết vệ tinh giới hạn c, các sợi bị tắc nghẽn, các liên kết vi sóng/wifi/3G truyền lại, và rác cuối cùng đồng dặm sẽ làm bạn thất vọng.

+1

Tôi cho rằng việc tắt thuật toán nagle sẽ yêu cầu sao chép và chỉnh sửa triển khai TCP? – user997112

+0

@ user997112 - không, đó là tùy chọn ổ cắm - bạn có thể tắt nó đi. –

+0

Cảm ơn Martin. Tôi đoán đây chỉ là cấu hình trong Unix? – user997112

0

Câu trả lời là qua courier pigeon. Các lựa chọn thay thế khác bao gồm sneakernet và autonet. Tôi thích bicyclenet hơn.

Các vấn đề liên quan