首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用express时,socketio中会出现什么错误?

问当使用express时,socketio中会出现什么错误?
EN

Stack Overflow用户
提问于 2019-11-06 18:22:26
回答 1查看 215关注 0票数 0

我已经尝试了许多方法来连接socket-io客户端和服务器与express,但它不工作,现在我不知道什么可能是错误的。

我曾尝试克隆socket-io网站上提供的示例,但它仍未显示任何连接或任何函数无法发送。

代码语言:javascript
复制
This is server.js and this is my code i have made many changes in it but not working.


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

//Setup a public path to load files
app.use(express.static('public'))
//app.use(express.static(path.join(__dirname, 'public')));

//Route for index
app.get(('/'),(req,res)=>{
    res.send('index'); 
});

//Socket connection

io.on('connection', function (socket) {
    socket.emit('news', { hello: 'world' });
    socket.on('my other event', function (data) {
      console.log(data);
    });
  });



app.listen(3000,()=>{
    console.log('server running on port 3000');}
);


This is index.html that the server.js is sending i only included the script 


    <script src="/socket.io/socket.io.js"></script>

   <script>
      var socket = io.connect('http://localhost:3000');
      socket.on('news', function (data) {
        console.log(data);
        socket.emit('my other event', { my: 'data' });
      });
    </script>

I expect it to console log when socket is connected and disconnected and emit the functions normally.
EN

回答 1

Stack Overflow用户

发布于 2019-11-06 18:48:35

您好,这是您的socket.io工作示例

在服务器代码中

代码语言:javascript
复制
    const express = require('express')
const app = express();

//Listen on port 3000
server = app.listen(3000, () => {
    console.log('server running on port 3000');
})

//socket.io instantiation
const io = require("socket.io")(server)


//listen on every connection
io.on('connection', (socket) => {
    console.log('New user connected')

    socket.emit('news', { hello: 'world' });
})

以下是HTML代码

代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js"></script>
<script>
    var socket = io.connect('http://localhost:3000');
    socket.on('news', function (data) {
        console.log(data);
        socket.emit('my other event', { my: 'data' });
    });
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58727900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档