2011-11-18 32 views
6

Làm thế nào để thực hiện một cuộc trò chuyện web thật nhanh với PHP?Làm thế nào để thực hiện một cuộc trò chuyện web thật nhanh với PHP?

Có ai từng thắc mắc tại sao trò chuyện trên Facebook thực sự rất nhanh? ngay cả trong IE mà không có WebSocket.

Không phải cách duy nhất là đặtInterval in JS để kiểm tra thư mới? Nhưng tôi cảm thấy nó (hộp chat Facebook) như có phản ứng tức thời.

Làm cách nào để thực hiện những điều tuyệt vời như vậy với PHP?

+2

Chúng sử dụng một cái gì đó như thế này: http://en.wikipedia.org/wiki/Comet_(programming). –

+1

Đóng ngoặc đơn không được tạo thành một phần của liên kết vì một lý do nào đó –

+1

@SimpleCoder Ngay cả khi họ sử dụng sao chổi, họ có thể thực hiện việc bỏ phiếu AJAX của một số loại. –

Trả lời

7

Trò chuyện tức thời bạn mô tả thường được đạt được bằng một cái gì đó gọi là "Cuộc thăm dò dài" hoặc, nếu chúng ta đang nói về AJAX, "Comet" (Wikipediatalks về nó). Việc bỏ phiếu có xu hướng làm căng thẳng các máy chủ Apache, nhưng có một số máy chủ chuyên dụng để xử lý nó như APE. Tôi không chắc chắn nhưng tôi nghĩ rằng bạn có thể làm tương tự với NodeJSNGINX xử lý sự căng thẳng khá tốt.

Here là một bài viết ở đây về cách triển khai cuộc trò chuyện bỏ phiếu dài với PHP jQuery và AJAX.

Chúc bạn may mắn và tôi hy vọng điều đó sẽ hữu ích!

3

Tôi đồng ý với @ joseph-szymborski mặc dù sẽ có ý nghĩa khi bắt đầu xem xét các giải pháp WebSocket để dự phòng cho WebSockets thông qua Flash và/hoặc bỏ phiếu dài.

Dưới đây là một số câu hỏi liên quan SO:

Nếu bạn muốn làm việc với PHP hoặc trên máy chủ chia sẻ thì tôi khuyên bạn nên xem hosted realtime web solution.

0

Bạn có thể muốn xem xét Node.js để phục vụ khách hàng trong 'thời gian thực' kể từ khi bỏ phiếu dài với PHP/AJAX có thể gây ra sự căng thẳng trên máy chủ của bạn. Nhưng việc thực hiện chính nó là một nhiệm vụ khó khăn. Chỉ cần nói. Bỏ phiếu dài với PHP/AJAX có thể gây ra sự căng thẳng trên máy chủ của bạn.

thi lý thuyết tiêu biểu của tôi về giống nhau:

  1. Tạo một máy chủ Node.js để truy vấn cơ sở dữ liệu.
  2. Gửi các biến và/hoặc dữ liệu phiên từ php sang Node js bằng cách sử dụng cURL.
  3. Phân tích cú pháp url trong máy chủ Node.js của bạn và sử dụng các biến để kiểm tra để thay đổi trong cơ sở dữ liệu.
  4. Phát ra dữ liệu mới nếu thay đổi xảy ra và gửi cho khách hàng.
Các vấn đề liên quan