2017-05-27 103 views
-2

我目前正在計劃編寫一個私人項目,更具體的虛擬聊天室,在那裏化身可以走動聊天。帶socket.io的PHP或重新創建node.js和socket.io中的所有內容?

現在我真的有點困惑,應該使用哪種語言進行編碼。現在我已經將PHP用於後端,比如前端的驗證和HTML。

但我知道我需要使用JavaScript來將聊天室資源繪製到畫布元素。我將需要使用socket.io(node.js)進行聊天和數據包。

現在我的問題,我可以甚至在後端使用PHP,並使用socket.io服務器和客戶端之間的通信和聊天本身?

對於現在的流程是這樣的:

  1. 用戶登錄到帳戶,背景檢查是在PHP做
  2. 用戶被重定向到一個儀表盤
  3. 用戶選擇菜單項世界
  4. 用戶選擇聊天的世界,被重定向到包含畫布和客艙另一個網站

截圖第3步:Canvas with chatbox

我怎麼能創造建立在畫布上用插座io的與服務器進行通信,並創建聊天應用程序後,插座:Select world

步驟4的屏幕截圖?

如果不使用PHP編寫整個站點,只使用node.js和socket.io(也適用於用戶autentification等),會更容易嗎?

我明白任何形式的建議和幫助

回答

1

嗯我假設你有良好的PHP技能,而是新的NodeJS/socketio。

是的nodejs可以實時性更好,但它的目的是實現可擴展性,它有它的生態系統,如果你不需要或者你也可以在PHP中使用它。但是,你可以同時擁有php和nodejs,這是完美的。

它可能會是這樣的:PHP的http請求和nodejs/socket.io的websockets連接,這個設置將工作,如果你不需要從nodejs調用php,反之亦然(但都可以訪問相同的數據庫)。

現在,如果您需要從包含消息隊列(如RabbitMQ)或者從其中一個或其中任何一個公開HTTP API的方法。

至於編碼nodejs中的所有東西,我不會那麼做,php在你提到的任務中非常好,我仍然認爲使用nodejs進行聊天會更好。

現在你提到它是私人的,未來的團隊成員很重要。

如果這個項目是爲了學習的目的,我認爲nodejs的技能可以很好地控制下,不管你是否需要它的可伸縮性和/或生態系統。

+0

嘿,謝謝你的迴應!正如你已經對nodejs/socketio新增的那樣。並曾在多個使用php和c#的項目中工作。所以是的,病態可能會使用你提到的方式來使用PHP的http請求和nodejs/socket.io的WebSockets連接。所以我可以使用PHP做auth部分,因爲它已經做到了,並且在authentificating之後使用用戶對象創建套接字認證:) – d4neZworldQuestions