2010-03-09 37 views

Trả lời

0

Bạn có thể sử dụng hoặc xem thư viện mạng nguồn mở như ACE. Rất nhiều goodies ở đó.

0

Bạn có thể sử dụng thư viện hiện có xử lý các giao thức nhắn tin tức thì, chẳng hạn như libpurple.

7

Giao thức UDP không phải là lựa chọn tốt nhất cho chương trình trò chuyện qua Internet. Gói UDP sẽ bị chặn bởi proxy. Và UDP không đảm bảo việc phân phối gói. Vì vậy, có lẽ giao thức TCP sẽ là một lựa chọn tốt hơn.

Hãy xem trên Boost.Asio Thư viện. Nó đã chứa thực thi nguyên thủy của chat program.

+0

+1 cho TCP và tôi sẽ cung cấp +1 khác cho Boost.Asio (và đặc biệt là tcpstreams). – Tronic

+0

Tôi tìm thấy asio là tài liệu kém, không được hỗ trợ tốt và khó hiểu ngay cả đối với một lập trình viên có kinh nghiệm. Tôi sẽ không khuyên bạn nên nó. – Jay

3

Bạn không cung cấp cho chúng tôi nhiều chi tiết tại đây!

Nếu mục đích của bạn thực sự là hoàn toàn làm việc và có ứng dụng trò chuyện đầy đủ, tôi đề nghị bạn xem XMPP là một giao thức truyền tin tức thời mở. Here là danh sách một số thư viện triển khai nó.

Nếu mục đích của bạn là nghiên cứu lập trình mạng và bạn quan tâm nhiều hơn đến UDP so với TCP, UDP là lựa chọn không tốt cho ứng dụng trò chuyện vì nó không đảm bảo về tính toàn vẹn hoặc sắp xếp dữ liệu. Tin nhắn của bạn có thể (và sẽ!) Được nhận theo thứ tự xấu hoặc một số thậm chí có thể bị thiếu. TCP làm điều đó cho loại kiểm tra cho bạn.

Giữa (ứng dụng trò chuyện rất đơn giản), bạn có thể thực hiện rất riêng của bạn giao thức và sử dụng các thư viện khác đã gợi ý ở đây như thế Boost.asio, ACE, POCO, hoặc thậm chí wxWidgetsQt, mà sẽ dễ dàng xử lý ổ cắm và cũng cung cấp những gì bạn cần xây dựng ứng dụng dành cho máy tính để bàn cho người cuối cùng 2.

0

UDP giống như một loại giao thức 'bắn và quên'. Đó là nhanh chóng, nhưng nếu bạn sử dụng nó để giao tiếp qua internet, không có đảm bảo tin nhắn của bạn sẽ được nhận được ở tất cả. Ngay cả khi đó là mạng LAN, các gói của bạn vẫn có thể bị mất. Sẽ thuận tiện hơn khi sử dụng TCP để đảm bảo các gói của bạn đến mà không có lỗi và theo thứ tự bạn đã gửi chúng.

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