Node express socket io listen和console记录收到的任何数据

时间:2014-02-20 07:26:25

标签: html node.js socket.io

任何正文都可以向我展示一个简单的节点快速服务器,它打开一个监听套接字和控制台记录它收到的任何数据我需要这个来测试我正在构建的涉及socketio的HTML脚本。

我将使用文本框数组发送数据,我只希望节点服务器控制记录收到的所有内容

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码,但必须使用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'}); 

希望这可能会有所帮助