【发布时间】:2014-12-06 08:12:48
【问题描述】:
我们有一个 Laravel 项目,但是,应用程序的某些部分会进行大量轮询,因此我们决定将 socket.io 引入应用程序。 Laravel 依赖于监听 80 端口的 Apache(我们在前端使用 jQuery 和 Bootstrap)。我们的本地测试主机名是 test.localhost.com。节点服务器只是我们创建的一个监听 1000 端口的服务器,安装了 express 和 socket.io。
在我们的 Laravel 页面中,我们包含以下内容:<script src="//localhost:1000/socket.io/socket.io.js"></script>。作为测试,我们的前端有以下代码:
<script>
$(document).ready(function() {
var socket = io();
$("#msg").keyup(function(event) {
if (event.keyCode === 13) {
socket.emit($("#msg").val());
$("#msg").val('');
}
});
});
</script>
但是,当我尝试发送消息时,节点端没有收到任何内容,但在 Chrome 控制台中,我注意到以下内容:
GET http://test.localhost.com/socket.io?EIO=3&transport=polling&t=1413006253169-84 404 (Not Found) ,socket.io.js 的第 2680 行出现错误。我打开文件并转到第 2680 行并查看 xhr.send(this.data);。这是怎么回事?我不能混合这两个代码库吗?为什么在导入时我使用 localhost:1000 (不同的主机和不同的端口)尝试在 test.localhost.com 获取?
【问题讨论】:
标签: javascript php node.js websocket socket.io