试图获得一个示例Node.js应用程序工作
Trying to get a sample Node.js application working
我正在尝试使用node.js, express和socket.io运行一个基本的聊天应用程序。我已经成功地让一切运行到我没有得到任何错误在服务器端或客户端。但是,应用程序不能工作。
我应该能够打开两个浏览器窗口和自己聊天。我在文本框中输入要发送聊天消息给自己,但没有收到任何消息。我很确定也没有发送任何东西。使用FireBug时,我没有看到任何新的请求通过网络发送。但是,通过使用Firebug,我还看到所有请求的include文件都被正确地提供给了浏览器。只有三个:index.html、socket.io.js和jquery.min.js。
这是我正在使用的教程的链接:http://philmunt.com/post/15643013618/node-js-socket-io-chat-application-tutorial
对于server.js文件,我稍微修改了一下以使其工作。主要的问题是,我的浏览器没有接收socket.io.js,所以我添加了一个路径,让server.js知道它在哪里。是这样的:app.get (sio/socket.io.js,函数(点播,res ) {........这是我的问题吗?服务器代码- server.js:
var express = require('express'), app = express(), http = require('http'), server = http.createServer(app), io = require('socket.io').listen(server);
// listen for new web clients:
server.listen(8080);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
app.get('/sio/socket.io.js', function (req, res) {
res.sendfile('/root/nodejs/node-v0.10.0/node_modules/socket.io/lib/socket.io.js');
});
io.sockets.on('connection', function (socket) { socket.on('sendMessage', function (data) { socket.broadcast.emit('message', data); socket.emit('message', { text: '<strong>'+data.text+'</strong>' });
});
});
这是index.html文件:
<html>
<body>
<script src="/sio/socket.io.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
var socket = io.connect('http://localhost');
socket.on('message', function (data) {
$('#chat').append(data.text + '<br />');
});
$('#send').click(function () {
socket.emit('sendMessage', { text: $('#text').val() });
$('text').val('');
});
});
</script>
<div id="chat" style="width: 500px; height: 300px; border: 1px solid black">
</div>
<input type="text" name="text" id="text">
<input type="button" name="send" id="send" value="send">
</body>
</html>
删除app.get(socketstuff)部分,你不需要它,因为js文件已经为你提供了
<script src="/socket.io/socket.io.js"></script>
并将套接字变量更改为:
var socket = io.connect();
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 如何使用 node.js 比较两个 json 数组
- Node.js's Buffer.writeFloatBE in Javascript
- node.js:setInterval()正在跳过调用
- 如何处理node.js节点mongodb中的连接和查询队列
- Node.js正在更改应用程序以使用集群模块
- 如何使用Node.js最有效地解析网页
- 在openshift node js应用程序中获取请求
- 正在删除node.js中已验证的网站
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 在索引.html和应用.js [node.js] 之间共享变量
- Node.js中的JavaScript原型对象效率
- node.js请求数据事件未在CORS ajax调用中触发
- 使用node.js制作网站
- 使用node.js服务器中的evernote api获取note内容
- 有没有任何方法可以使用node-js从不同的机器打开浏览器
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- 在Node.js中上传和检索图像
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 如何使用 Node JS 获取 JSON 嵌套数组值