【发布时间】:2014-02-20 17:12:45
【问题描述】:
任何人都可以向我展示一个简单的节点快速服务器,它打开一个侦听套接字并控制台记录它接收到的任何数据我需要这个来测试我正在构建的涉及 socketio 的 HTML 脚本。
我将使用文本框数组发送数据,我只想让节点服务器控制台记录收到的所有内容
【问题讨论】:
任何人都可以向我展示一个简单的节点快速服务器,它打开一个侦听套接字并控制台记录它接收到的任何数据我需要这个来测试我正在构建的涉及 socketio 的 HTML 脚本。
我将使用文本框数组发送数据,我只想让节点服务器控制台记录收到的所有内容
【问题讨论】:
您可以使用以下代码,但您必须使用 npm install ejs 安装 ejs 模块才能将您的 html 页面呈现给客户端。您必须在 app.js 所在的同一目录中创建一个名为 views 的文件夹,然后将 html 文件放在此文件夹中。
服务器端:app.js
var express = require('express')
, http = require('http')
, app = express();
app.configure(function () {
app.set('port', process.env.PORT || 456);
app.engine('.html', ejs.__express);
app.set('views', __dirname + '/views');
app.set('view engine', 'html');
});
var server = http.createServer(app);
io = require('socket.io').listen(server);
app.get('/', function (req, res) {
res.render('index');
});
io.sockets.on('connection', function (socket) {
socket.on('someEvent', function(data){
console.log(data.prop1 + " " + data.prop2);
});
});
客户端:index.html
<script type="text/javascript" src='socket.io/socket.io.js'></script>
<script>
var socket = io.connect('http://localhost:456');
</script>
//emit this event when your function executes
socket.emit('someEvent', {prop1: 'value1', prop2: 'value2'});
希望对你有帮助
【讨论】: