socket.io 从服务器到客户端的数据

标签 socket.io

服务器.js

var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);

app.use(express.static(__dirname + '/public'));

io.on('connection', function(client) {
    console.log('Client connected...');

client.on('join', function(data) {
    console.log(data);
    io.emit('messages', 'Hello');

});

});

index.html

<script>
    var socket = io.connect('http://localhost:7777');
    socket.on('connect', function(data) {
      socket.emit('join', 'Hello World from client');

    });
    socket.on('messages', function(data) {
      alert(data);
    });
</script>

我尝试实现非常基本的 Socket.io。

但是,从客户端到服务器的数据发送是可用的,但从服务器到客户端的数据发送不工作。

在运行 server.js 的命令中,打印“Hello World from client”。但是,警报窗口在网络浏览器中不起作用。(我也尝试过console.log)。

如何解决这个问题?

已编辑

我已将 server.js 代码放入 app.get('/', function(req, res)){ ... } 然后,它就不起作用了。为什么它在 app.get 中不起作用?

最佳答案

试试这个,我希望它有效:

io.on('connection', function(client) {
console.log('Client connected...');

client.on('join', function(data) {
        console.log(data);
        io.emit('join', data);  //this code sending data from server to client
    });
});

关于socket.io 从服务器到客户端的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42618720/

相关文章:

socket.io - socket-io.client 在 React Native Android 应用程序下不起作用

javascript - 如何让 Node.js 在我的服务器上运行?

javascript - 发件人未收到 socker.io 上发送的消息

javascript - 冲突 dojo.require 和 Socket.io 客户端

javascript - 在 Angular 2 中使用 SailsJS sails.io

node.js - 在NodeJS端使用SocketIo读取数据?

npm - socket.io 设置没有相同站点属性的跨站点 cookie

amazon-web-services - 我无法将 Elasticache 连接到 Elastic Beanstalk(在 VPC 中)

session - Express - socket.io - 阅读 session

javascript - socketIO url 中的 "?t="是什么