2011-09-04 54 views
6

Tôi muốn triển khai hệ thống trò chuyện cho trang web của mình. Các chức năng sẽ rất giống với chat facebook. Các cuộc trò chuyện sẽ dựa trên một.PHP Jquery: hệ thống trò chuyện, khung lý tưởng cho việc này là gì?

Tôi biết cách xây dựng hệ thống trò chuyện bằng PHP, MySql và sử dụng JQuery. Nhưng mối quan tâm của tôi là nó sẽ không mở rộng với số lượng lớn người dùng trong thời gian dài.

Sử dụng JQuery Tôi sẽ thực hiện yêu cầu mỗi giây để cập nhật cửa sổ trò chuyện hoặc nếu người dùng gửi yêu cầu trò chuyện với người dùng khác. Điều này sẽ gây thêm tải trên máy chủ vì cơ sở người dùng sẽ tăng thêm giờ.

Tôi đã được thông báo bằng cách sử dụng PHP vì đây không phải là giải pháp lý tưởng, tôi nên xem xét lập trình sao chổi mà tôi chưa từng thử trước đó.

Câu hỏi của tôi là có bất kỳ khung công tác dựng sẵn nào mà tôi có thể sử dụng hoặc phương pháp tiếp cận tốt hơn để xây dựng nó?

Tôi đã nghe nói về NodeJ và APE nhưng chúng không được máy chủ của tôi hỗ trợ.

Xin cảm ơn các bạn.

EDIT: sau khi có từ với máy chủ của tôi guys, tôi có thể thay đổi hệ điều hành của tôi để tôi có thể chạy NodeJS. Làm thế nào tốt là nodejs là hạn của khả năng mở rộng và nó sẽ đáp ứng nhu cầu của tôi?

+0

Các công nghệ khác được máy chủ của bạn hỗ trợ? – generalhenry

+0

có thể là PHP không chặn IO => http://thethoughtlab.blogspot.com/2007/04/non-blocking-io-with-php-mio.html. Tôi đã không cố gắng này ra được nêu ra, bởi vì tôi thích node.js, nhưng nó có thể làm việc ... – Alfred

+0

ngôn ngữ được hỗ trợ C PHP python 2.4 tôi nghĩ. Nút nào có tốt không? điều này sẽ hoạt động nếu tôi thay đổi hệ điều hành trên máy chủ của mình. – LazyDeveloper

Trả lời

5

PHP và Sao chổi không loại trừ lẫn nhau. Comet chỉ là một kỹ thuật đẩy máy chủ, vì vậy bạn không phải thăm dò ý kiến ​​từ trước tới giờ. Bạn triển khai Comet trong PHP & JS, nó không phải là một ngôn ngữ lập trình riêng biệt.

Mặc dù: Tôi KHÔNG đề xuất trò chuyện lập trình theo cách riêng của bạn, trừ khi bạn cần các tính năng rất cụ thể. Đó là mất thời gianlỗi dễ xảy ra. Sử dụng một trong những giải pháp trước khi thực hiện, ví dụ:

http://www.phpfreechat.net/

hoặc java IRC chat. Google để biết thêm.

+2

Không có giải pháp được thực hiện tốt nào có quy mô tốt và rẻ. Làm của riêng bạn. [làm cho một cuộc trò chuyện trong 12 dòng bằng cách sử dụng nowjs] (http://nowjs.com/). Tạo một cuộc trò chuyện khá dễ dàng. – Raynos

3

Khi Rok Kralj nói Comet là một mô hình và có thể áp dụng cho các công nghệ khác nhau. Câu hỏi PHP & Comet là một nơi tốt để bắt đầu nếu bạn muốn xem xét điều này.

Thường có xu hướng đồng ý rằng PHP không mở rộng quá tốt như công nghệ thời gian thực. Facebook, là một nhà PHP (mặc dù ended up compiling their PHP down to C (or maybe C++) for efficiency). Giải pháp phổ biến nhất là sử dụng realtime technology dành riêng cho giao tiếp thời gian thực của bạn và giữ điều này bên ngoài máy chủ web của bạn.

Về mặt lựa chọn công nghệ, tôi sẽ xem xét WebSockets vì chúng đã trở thành tiêu chuẩn cho truyền thông hai chiều theo thời gian thực. Một số máy chủ 'Comet' sử dụng WebSockets làm phương tiện vận chuyển và dự phòng cho HTTP Streaming hoặc HTTP Long-Polling kém hiệu quả hơn cho các trình duyệt cũ hơn.

Nếu bạn cân nhắc sử dụng dịch vụ được lưu trữ và không muốn bị ràng buộc với chức năng trò chuyện, muốn thông báo thời gian thực, cộng tác trực quan hoặc chơi trò chơi được thêm vào ứng dụng của bạn tại một thời điểm, sau đó http://pusher.com, người tôi làm việc cho, cung cấp dịch vụ nhắn tin theo thời gian thực được lưu trữ mà bạn có thể dễ dàng triển khai chức năng trò chuyện của mình.

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