2012-02-13 44 views
7

Tôi sẽ tạo ứng dụng trò chuyện android. Trên thực tế trò chuyện sẽ là một tính năng của ứng dụng. Tôi muốn biết các phương pháp hay nhất về ứng dụng trò chuyện với Android là gì. Hai tùy chọn mà tôi quen thuộc là C2MD và chỉ là một cuộc thăm dò tùy chỉnh của db máy chủ sau mỗi vài giây.Các phương pháp hay nhất về cách tạo ứng dụng trò chuyện trong android

Bây giờ, tôi biết rằng C2MD được cho là tuyệt vời và tất cả, nhưng từ sự hiểu biết của tôi, nó không phải là đáng tin cậy. Tôi đã cố gắng thực hiện nó và nó dường như không hoạt động. Ngoài ra, nếu vì một số lý do gì đó xảy ra trên googles kết thúc (như máy chủ của họ đang xuống - không có khả năng nhưng có thể xảy ra) Tôi không có cách nào để liên lạc với họ, và đang ở khung thời gian của họ.

Bây giờ nếu tôi làm việc của riêng mình (cách tiếp cận cơ bản nơi tôi gửi thư mà người dùng tạo và sau đó kiểm tra định kỳ máy chủ để xem liệu có thư mới nào có) không, ngoại trừ, để có phong nha trải nghiệm người dùng, việc bỏ phiếu của máy chủ của tôi sẽ phải như sau 5 giây, và điều đó sẽ nhai pin như điên. Đây thực sự là nhược điểm chính của tôi khi sử dụng phương pháp này.

Vì vậy, tôi tự hỏi có một cách tốt hơn trên mạng mà tôi không biết. Xin vui lòng giúp đỡ bất kỳ, cấu trúc kiến ​​trúc, bất cứ điều gì sẽ là hữu ích.

Trả lời

8

Bạn nên xem xét sử dụng XMPP. Bạn có thể tìm kiếm StackOverflow cho Android XMPP và có thể bạn sẽ kết thúc here, đề xuất sử dụng một số biến thể của Smack (thư viện ứng dụng XMPP).

Update để giải quyết ý kiến:

Trước hết, XMPP là một giao thức, không phải là một khách hàng hoặc máy chủ. Một trong những lợi ích của việc sử dụng nó là có các ứng dụng máy khách và máy chủ XMPP có sẵn rộng rãi. Wikipedia article giải quyết hầu hết các câu hỏi của bạn.

Về xét của bạn về gtalk:

Kiến trúc của mạng XMPP cũng tương tự như gửi email; bất cứ ai cũng có thể chạy máy chủ XMPP của riêng họ và không có máy chủ chính trung tâm.

Về bỏ phiếu:

XMPP có thể sử dụng HTTP trong hai cách sau:. Polling [21] và ràng buộc [22] Phương pháp bỏ phiếu, hiện không được chấp nhận, về cơ bản ngụ ý các thư được lưu trữ trên cơ sở dữ liệu phía máy chủ đang được tìm nạp (và được đăng) thường xuyên bởi một máy khách XMPP bằng cách yêu cầu HTTP 'GET' và 'POST'. Với sự ràng buộc HTTP, máy khách sử dụng các kết nối HTTP lâu hơn để nhận tin nhắn ngay sau khi chúng được gửi đi. Mô hình đẩy thông báo này hiệu quả hơn so với bỏ phiếu, nơi nhiều cuộc thăm dò không trả về dữ liệu mới.

Nó cũng có thể sử dụng WebSockets.

Về tích hợp .NET (nếu bạn cần ... nếu bạn không, bạn chỉ có thể chạy máy chủ XMPP của riêng mình), bạn có thể tìm kiếm StackOverflow cho XMPP và .NET và bạn có thể nhận được một số câu hỏi/ý tưởng xung quanh tích hợp máy chủ .NET với các máy chủ XMPP như với câu hỏi này: Opensource .Net Jabber/XMPP server?

+0

ok XMPP cũng nói chuyện với máy chủ cửa sổ/.net webservice? Làm thế nào để bạn làm cho nó để nói chuyện với các dịch vụ web của riêng bạn. Ngoài ra, nó có nhận được tin nhắn mà không cần phải thăm dò ý kiến ​​máy chủ thường xuyên như vậy không? Tôi không quen thuộc với XMPP và có google nó nhưng không thực sự nhận được một định nghĩa tốt. – user638049

+0

Điều này sẽ không dành cho gtalk.Đây sẽ là chương trình trò chuyện của bên thứ ba mà tôi đang tạo. Tôi sẽ lưu trữ các dịch vụ web của riêng mình và lưu trữ tất cả các tin nhắn trò chuyện của mình. – user638049

+0

Đã cập nhật nhận xét của bạn. – kabuko

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