2009-05-11 65 views
5

Tôi đang làm việc với chức năng nhắn tin riêng cho trang web của mình, có cách nào để nhận thông báo đẩy từ máy chủ không, người dùng đã nhận được tin nhắn mới chưa?Trò chuyện trong thời gian thực với thông báo đẩy

kỹ thuật duy nhất tôi biết là liên tục thăm dò ý kiến ​​máy chủ thông qua ajax để xem liệu có thư mới hay không và tải lại cửa sổ messenger nếu cần.

cảm ơn mọi phản hồi!

UPD: cho đến nay các hướng dẫn sau đây đã được xác định:

1) Comet
2) BOSH - Hai chiều-suối Qua Synchronous HTTP
3) XMPP - đây là những gì Google Talk là dựa trên

+1

chỉ là một lưu ý BOSH và XMPP đi đôi với nhau. – Kinlan

Trả lời

5

Bạn có thể muốn nhìn vào XMPP và Bosh. Rất comet như và ejabberd kết hợp với nginx có thể duy trì 1000 của các kết nối trên một hộp rất nhỏ.

Hãy xem một trong các dự án của tôi www.vooices.us để xem chúng tôi đã làm gì với XMPP và BOSH.

http://www.ejabberd.im/

http://github.com/ssoper/jquery-bosh/tree/master JQueryBosh - để cho phép truy cập nhanh chóng và dễ dàng để XMPP qua HTTP

Đó là relativly dễ dàng để thiết lập và cài đặt.

Paul.

+0

Nhưng nó có hoạt động trong Internet Explorer không? –

+0

Có nó hoạt động rất tốt. Để công bằng tôi đã không thử nó trong IE6, nhưng tôi đã làm IE7 và IE8 – Kinlan

+0

Điều tốt là nó là tất cả javascript từ quan điểm của khách hàng. – Kinlan

0

Không có cách nào để máy chủ đẩy thông tin đến máy khách, nhưng bạn luôn có thể sử dụng Comet. Có, bạn sẽ bỏ phiếu cho máy chủ, nhưng không phải liên tục. Bạn sẽ giữ cho mỗi kết nối mở trong khoảng 30 giây (đó là khoảng thời gian tôi đã luôn nhìn thấy được sử dụng) và sau đó mở một kết nối mới khi cần thiết.

EDIT: Adobe Flash cho phép kết nối liên tục với máy chủ, để bạn có thể sử dụng. Xem this article để biết chi tiết.

+0

Tôi đang xem badoo.com, họ đang sử dụng một số plugin flash để được thông báo, tự hỏi nếu có bất kỳ mã nguồn nào có sẵn .. – Andy

+0

Ah, vâng, tôi không nghĩ về điều đó. Flash cho phép kết nối liên tục, do đó, đó là một tùy chọn. –

+0

Nghiêm túc, nhìn vào XMPP và BOSH. – Kinlan

0

Có rất nhiều các thư viện tốt giúp bạn làm

XMPP này - Bosh là sự kết hợp tốt mà tôi sử dụng trên các trang web của tôi

server XMPP

ejabberd, Openfire tôi sử dụng ejabberd

Bạn có thể sử dụng Strophe cùng với Ejabberd để chụp thông báo trong javascript. Nếu bạn muốn gửi thông báo từ mã

Có các thư viện như JAXL và XMPPHP cho phép bạn thực hiện việc này, nhưng đây là trong PHP.

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