我正在尝试使用 Node js 创建一个简单的聊天应用程序。我使用的是 Windows 操作系统。作为本地服务器,我使用 Xampp。我已经安装了节点。我还使用 package.json 安装了 socket.io。package.json 中的代码如下所示。
{
"name":"chat",
"version":"0.0.1",
"private":"true",
"dependencies":{
"socket.io":"0.9.16",
"express":"3.4.0"
}
}
然后我为服务器编写了代码。Node 服务器在端口 1337 中运行。服务器的代码如下所示。
var io = require('socket.io').listen(1337);
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
然后当我运行它时,它正在运行。然后我在 index.php 文件中编写了客户端的代码。客户端的代码如下所示。
<!DOCTYPE html>
<html>
<head>
<title>Chat app.</title>
</head>
<body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="/node:1337/socket.io/socket.io.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var socket = io.connect('http: // localhost / node : 1337');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
});
</script>
</body>
</html>
但是当我尝试使用浏览器运行它时,我在控制台中看到的只是访问被禁止。我所有的文件,包括 node_modules 都保存在C:\xampp\htdocs\node
.