nodeJS和PHP(Laravel)集成Socket.IO实时聊天

nodeJS和PHP(Laravel)集成Socket.IO实时聊天,第1张

概述目前我有一个通过Laravel框架在 PHP上写的网站.我已经用Socket.IO和Express的nodeJS写了一个实时聊天,现在我想做的是把它整合到我已经写的Laravel网站上.问题是聊天必须在主页面,目前由Laravel的观点呈现.目前我正在共享主机. 问题: 您对此类整合的最佳建议是什么?我知道LAMP堆栈在大多数共享域中准备就绪,但我完全不知道如何让PHP(Laravel)和我的no 目前我有一个通过Laravel框架在 PHP上写的网站.我已经用Socket.IO和Express的nodeJs写了一个实时聊天,现在我想做的是把它整合到我已经写的Laravel网站上.问题是聊天必须在主页面,目前由Laravel的观点呈现.目前我正在共享主机.

问题:
您对此类整合的最佳建议是什么?我知道LAMP堆栈在大多数共享域中准备就绪,但我完全不知道如何让PHP(Laravel)和我的nodeJs聊天一起工作.

我试过的事情

> Elephant.IO – 没有任何大的成功它…

解决方案很简单(但是在互联网上找不到任何东西).您只需要在PHP的HTML视图中包含您的socket.io Js文件,然后将socket.io Js文件连接到您的node.Js服务器.这在本地主机上工作得很好.但是,如果有人尝试从外部登录聊天,他们将遇到一个“禁止的跨域请求”错误,这是因为您可能遵循像我这样的“指南”,并且您在CLIENT中的socket.io连接就是这样:
var socket = io.connect('localhost:8080');

代替

var baseURL               = getBaseURL(); // Call function to determine itvar socketIOPort          = 8080;var socketIolocation      = baseURL + socketIOPort; // Build Socket.IO locationvar socket                = io.connect(socketIolocation);// Build the user-specific path to the socket.io server,so it works both on 'localhost' and a 'real domain'function getBaseURL(){    baseURL = location.protocol + "//" + location.hostname + ":" + location.port;    return baseURL;}

PHP客户端代码是:

<!DOCTYPE HTML><HTML lang="en"><head>  <Meta charset="utf-8"></head><body>  <!-- Wrapper-->  <div ID="wrapper">    <!-- Chat: input -->    <div ID="chat-input">      <!-- Username -->      <div >        <p ID="username">John Doe</p>      </div>      <!-- Form -->      <form action="">        <!-- input fIEld -->        <input type="text"  ID="message" placeholder="Enter your message..." autocomplete="off" autofocus="on" />        <!-- button -->        <button>Send</button>      </form>      <!-- END: Form -->    </div>    <!-- END Chat: input -->    <div ID="chat-output">      <div ID="messages"></div>    </div>  </div>  <!-- END: Wrapper -->  <!-- Scripts -->  <!-- Socket.IO -->  <script src="../node_modules/socket.io/node_modules/socket.io-clIEnt/dist/socket.io.Js"></script>  <!-- jquery -->  <script src="//AJAX.GoogleAPIs.com/AJAX/libs/jquery/1.9.1/jquery.min.Js"></script>  <!-- Chat -->  <script src="../public/Js/chat.Js"></script>  <!-- End: Scripts --></body></HTML>

服务器端node.Js代码不需要任何调整,忘记一切关于Redis或PHP(Elephant.IO,AJAX随机注入,忘记任何黑客).它只是作为一个魔术.

总结

以上是内存溢出为你收集整理的nodeJS和PHP(Laravel)集成Socket.IO实时聊天全部内容,希望文章能够帮你解决nodeJS和PHP(Laravel)集成Socket.IO实时聊天所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1256693.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存