2009-05-07 33 views
7

Tôi quan tâm đến việc học cách viết phần mềm máy chủ mạng cực kỳ hiệu quả và tôi không ngại bị bẩn tay với con trỏ, ổ cắm và luồng. Tôi đang nói một máy chủ có thể xử lý hàng ngàn kết nối đồng thời. Không có nhiều xử lý cho mỗi khách hàng, nhưng một chút.Ví dụ về thiết kế máy chủ mạng hiệu quả, được viết bằng C

Bạn có biết bất kỳ ví dụ mã nào cho các máy chủ mạng thực sự hiệu quả không?

Tùy chọn chỉ cho mã nhỏ, có tài liệu cũng là nền tảng chéo.

Trả lời

1

Có một cái nhìn tại nginx, lighttpdvarnish cho một số máy chủ http hiệu suất cao phổ biến.

BTW, Tôi hiện đang làm việc để kết hợp các epoll cạnh được kích hoạt với đa luồng (cộng với chuỗi/chủ đề kiểu liên kết swapextext) - xem http://svn.cmeerw.net/src/nginetd/trunk/ đối với một số mã đang làm việc (mặc dù điều này được viết bằng C++).

1

Đây có thể không chính xác những gì bạn đang tìm kiếm, nhưng tôi nhớ lại một thời gian ngắn tại Space Tyrant một vài năm trước và nghĩ rằng nó nghe có vẻ tuyệt vời.

http://librenix.com/?inode=6240

Hy vọng điều đó sẽ hữu ích!

5

Bạn sẽ tìm thấy rất nhiều tài liệu tham khảo tốt và thảo luận về việc xây dựng các máy chủ mạng đánh giá cao khả năng mở rộng trên trang The C10K problem Dan Kegel của.

+0

Danh sách các triển khai máy chủ nguồn mở bằng cách sử dụng các phương pháp mô tả khác nhau có thể được tìm thấy ở gần cuối trang. –

+0

Đó là một trang tốt, đã có trước đây. Nhưng tôi vẫn cảm thấy rằng phần ví dụ của trang thiếu, chủ yếu là trong các giải pháp được kích hoạt cạnh. Do đó, câu hỏi :) – Andrioid

1

ACE là lựa chọn sáng suốt.

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