我目前正在計算如何以最簡單的方式構建與Laravel鏈接的實時消息系統。在Laravel中實現一些實時消息
什麼,我希望做的是:
試想2級的用戶,A & B.
- A發送消息給B和Laravel保存該數據庫,並通知實時服務器有新的消息可用。
- 實時服務器通知B這個。
- B通過ajax調用獲取消息。
所以我只想要一個比完全成熟的實時消息系統更簡單的東西,而不是直接發送消息只是通知客戶端有一條新消息。
這可能實現使用某些服務,node.js或其他?
我目前正在計算如何以最簡單的方式構建與Laravel鏈接的實時消息系統。在Laravel中實現一些實時消息
什麼,我希望做的是:
試想2級的用戶,A & B.
所以我只想要一個比完全成熟的實時消息系統更簡單的東西,而不是直接發送消息只是通知客戶端有一條新消息。
這可能實現使用某些服務,node.js或其他?
有一個關於中涵蓋使實時聊天應用程序與Laravel和ReactPHP代替node.js的https://medium.com/on-coding/eaa550829538 也許你能找到爲你有用的東西的過程的文章。
您可以使用Accord Cloud Service作爲通知服務來實現您的目標。 Accord使用ActiveML,一種類似JSON的語言來創建實時應用程序。
以下Python代碼示例發送通知到客戶端瀏覽器時由客戶端所定義的「有趣」的事件發生。
#!/usr/local/bin/python
import sys
import socket
if __name__ == '__main__':
#
# Connect with Accord Cloud Service using telnet port
#
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("ac.accord.com", 23))
data = s.recv(1024)
#
# Login with user and password
#
s.send("your-email-address-goes-here\n")
data = s.recv(1024)
s.send("your-password-goes-here\n")
data = s.recv(1024)
#
# Ensure Msg variable exists.
#
s.send("what is type of element Msg;\n")
data = s.recv(1024)
if data.startswith('error'):
s.send("create string Msg;\n")
data = s.recv(1024)
while (1):
print "Enter message to send to a browser: "
msg = sys.stdin.readline()
msg = msg[:-1]
print("set string Msg = \"%s\";\n" % msg)
s.send("set string Msg = \"%s\";\n" % (msg))
data = s.recv(1024)
s.close()
PHP,Perl,Java,C/C++等代碼與上面非常相似。如果需要,您還可以使用JavaScript從瀏覽器發送通知。您還可以使用ActiveML CLI遠程登錄到雲服務並完成相同的任務。
在上面的例子中,每一次「設置字符串消息」被髮送到雲服務,它會通知感興趣的是消息的價值,改變了項目的所有客戶端的瀏覽器。然後每個瀏覽器繼續更新頁面。在下面的例子中,客戶端瀏覽器接收到上面的Python程序啓動的通知/更新,並提示顯示輸入的文本。
http://ac.accord.com/demo/notify.html
要玩它,通過點擊創建一個免費的臨時賬戶「登錄」按鈕,然後按照指示操作。
您預計有多少個併發客戶端,10,100,1000以上?披露:我爲Accord Software,Inc.工作