簡體   English   中英

使用 php 和 javascript 創建實時聊天

[英]Creating a real-time chat with php and javascript

我的目標是從頭開始創建一個類似於 Facebook 聊天的實時聊天。 我想將所有消息存儲在數據庫表(MySQL) 上,每次用戶發送新消息時,如果接收方已連接,則請求將發送到接收方的瀏覽器,消息將顯示在聊天窗口中.

我不想讓客戶端檢查是否發送了用戶的新消息,但我希望服務器將請求發送到客戶端的瀏覽器

我知道這可以使用Comet 技術來實現(我看到了這個 stackoverflow 問題),但我無法找到關於如何為這個特定問題實現這一點的好指南。

我想使用 php 和 javascript 以及盡可能少的額外軟件或框架。

我使用 WAMPServer 並且我有 Windows。

如果您知道一個好的指南或教程,或者可以提供有關如何實現我想要的任何指南,那將非常有幫助。

嘗試使用此CppComet開源彗星服務器。 有用於 php 和其他語言的 api。 並查看此聊天示例

我已經開發了一個應用程序,它不完全是實時消息傳遞系統,但它的工作方式像實時。 構建使用沒有任何外部新框架/API,只使用已知和熟悉的技能來開發它:Ajax jquery、PHP、Mysql、Javascript。

使用的邏輯是:

  1. 所有消息都將存儲在數據庫中,
  2. 當您加載頁面時,所有消息都將從數據庫加載。
  3. 重新加載后收到新消息時,必須加載/顯示新消息,而無需再次重新加載整個頁面,對嗎? 這是使用 javaScript 和 ajax jquery 完成的。 我設置了每 0.5 秒的超時時間,以僅重新加載新消息並顯示它們。
  4. 在我的代碼中,首先當頁面加載所有消息將被加載到每個 div 標簽中,稍后每當新消息進入 db 時,它將顯示為新的
    div 標簽。 它很簡單,無需任何外部 API 即可工作。

要刷新新消息並將它們扔到 div 標簽中,使用 ajax jquery 的 load(),每 0.5 秒刷新一次,Javascript 用於設置超時。

您還可以將 Node.JS 與 PHP 結合使用。 使用 PHP 和 Node.js 創建實時聊天應用程序

我不知道你的確切問題是什么,但Websockets就是答案!

https://github.com/crossbario/autobahn-js

https://github.com/voryx/Thruway

(僅供參考,當您在 websockets 的上下文中看到 WAMP 時,他們談論的不是 windows/apache/mysql/php)

不幸的是,你不能用 PHP 自己制作一個實時應用程序,你可以在 PHP 中使用像 Laravel 這樣的框架,並使用像 laravel-websockets 這樣的包來創建一個實時應用程序。 laravel-websockets 對於創建實時應用程序非常有用。 laravel 和帶有任何前端的 laravel websokcets 你可以這樣做

http://beyondco.de/docs/laravel-websockets

https://laravel.com/docs/

您可以使用它輕松創建任何內容,只需嘗試了解 websokcets 的基本概念即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM