当前位置: 首页 > 知识库问答 >
问题:

io和Express3

扶开诚
2023-03-14
io.sockets.on('connection', function(socket) {
  socket.emit('init', { msg: 'Welcome'});
});
<!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
    <script src='/socket.io/socket.io.js' />
    <script>
        var socket = io.connect('http://127.0.0.1:3000');
        socket.on('init', function (data) {
            console.log(data.msg);
        });
    </script>
  </head>
  <body>
    <h1><%= title %></h1>
    <p>Welcome to <%= title %></p>
  </body>
</html>

当运行该应用程序时,我得到:

  info  - socket.io started
Express server listening on port 3000
GET / 200 28ms - 472
GET /stylesheets/style.css 200 163ms - 110
   debug - served static content /socket.io.js

我是不是漏掉了什么?我跟踪了socket.io网页示例,但看起来服务器运行良好······也许是客户端的东西?

编辑:我还在客户端尝试了var socket=io.connect('http://127.0.0.1',{port:3000});,并从主体运行所有socket客户端。

做一个控制台。登录io.sockets.on事件没有给出任何东西...所以“联系”永远也达不到。

共有1个答案

史绍晖
2023-03-14

App.JS:

var express = require('express')
  , routes = require('./routes')
  , http = require('http')
  , path = require('path');

var app = express();
var server = http.createServer(app)

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(path.join(__dirname, 'public')));
});

app.get('/', routes.index);

server.listen(app.get('port'), function(){
  console.log("Express server listening on port " + app.get('port'));
});

var io = require("socket.io").listen(server)

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
});

index.html:

<script>
    var socket = io.connect();
    socket.on('news', function (data) {
      console.log(data);
    });
</script>

在浏览器的控制台中,您应该看到一个包含“hello”的对象:“world”。

 类似资料:
  • 当我使用时,我的javascript游戏应用程序将无法工作。当我使用时,游戏工作得很好,但不使用。在服务器上加载index.js文件,但随后给出错误,如: 和 再次,当我使用启动服务器时,程序运行平稳。 以下是我的process.yml文件

  • 本章简单介绍Elixir的输入、输出机制,文件系统相关的任务, 以及涉及到的模块,如IO, File 和Path。 我们曾经在早期的文章中说现在介绍IO似乎有点早。 但是,我们注意到IO系统其实提供了一窥Elixir和虚拟机的设计哲学和精妙的绝佳机会。 “早期的文章”:现在介绍I/O似乎有点早,但是I/O系统可以让我们一窥Elixir哲学,满足我们对该语言以及VM的好奇心。 IO模块 模块IO提供

  • 在The Future Trait 的上一章节中,我们讨论了这个 Future 在套接字上,执行异步读取的示例: pub struct SocketRead<'a> { socket: &'a Socket, } impl SimpleFuture for SocketRead<'_> { type Output = Vec<u8>; fn poll(&mut self

  • IO

    loadtxt()和savetxt()函数处理正常的文本文件 numpy.save()文件将输入数组存储在具有npy扩展名的磁盘文件中。 为了从outfile.npy重建数组,请使用load()函数。 save()和函数接受一个附加的布尔参数allow_pickles。 Python 中的pickle用于在保存到磁盘文件或从磁盘文件读取之前,对对象进行序列化和反序列化。 savetxt() 以简单

  • IO

    本章交要讲解基本的 I/O 。它首先集中在 “I/O流”(I/O Streams),一个强大的概念用于简化 I/O 操作。本文还讲解了序列化,它可以让程序将整个对象转出为流,然后再从流读回来。随后介绍文件 I/O 和文件系统的操作,其中包括了随机访问文件。 大多数涵盖 I/O流 的类都在java.io包。大多数涵盖文件 I/O 的类都在java.nio.file包。

  • IO

    如果你使用的是标准化的JS库,则暴露为io这一命名空间;如果你是用Node 编译,则使用require('socket.io-client')。 引入http://socket.io的JS库 <script src="/socket.io/socket.io.js"></script> <script> const socket = io('http://localhost'); </scri