Socket.IO和Express发出数据

时间:2018-01-14 13:20:32

标签: node.js express socket.io

所以我试图将数据存入用户作为通话,我有两个问题。 首先,当用户连接其垃圾邮件“用户连接”时 其次,我没有在页面上获得任何数据。 这是代码:

仓/ WWW:

var app = require('../app');
var debug = require('debug')('myapp:server');
var http = require('http');
var socketHandler = require('../handlers/sockethandler');
var io = socketHandler.io;
var server = http.createServer(app);
io.attach(server);

sockethandler.js:

var socket_io = require('socket.io');
var io = socket_io();
var socketHandler = {};

socketHandler.io = io;

io.on('connection', (socket) => {
  console.log('a user connected');

  socket.on('disconnect', () => {
    console.log('user disconnected');
  });
});

module.exports = socketHandler;

发布数据帖子:

var socketHandler = require('./sockethandler');
var io = socketHandler.io;
var exten = evt.exten, statustext = evt.statustext;
io.emit('extenstate', {exten, statustext});

client.js:

var socket = io("http://192.168.168.49:3000");

socket.on('extenstate', function(state) {
  var li = document.createElement('li');
  console.log(state.exten);
  var Extension = document.createElement('h4');
  var Status = document.createElement('h4');

  Extension.textContent = 'Extension:' + state.exten;
  Status.textContent = 'Status:' + state.statustext;

  li.appendChild(Extension);
  li.appendChild(Status);

  document.getElementById('phone-calls').appendChild(li);
});

路线: var express = require('express');

var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('data', { title: 'Realtime Sender' });
});

module.exports = router;

EJS:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Lonestar - <%= title %></title>
</head>
<body>
  <div id="phone-calls"></div>
  <script src="https://cdn.socket.io/socket.io-1.3.5.js"></script>
  <script src="client.js"></script>
</body>
</html>

0 个答案:

没有答案