首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用socket.io处理请求?

问如何使用socket.io处理请求?
EN

Stack Overflow用户
提问于 2016-10-25 08:21:44
回答 1查看 562关注 0票数 0

我试图使用socket.io处理html页面和http服务器之间的请求,无法发布/ HTTP/1.1 404 Not 服务器代码:

代码语言:javascript
复制
var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
console.log(__dirname);
app.use(express.static(__dirname+'/public'));
app.get('/', function(req, res){
  res.sendfile(__dirname+'/public/registration.html');
});

io.on('connection', function(socket){

    socket.on('registration',function(msg){
    console.log('user data'+ msg);
  });
});

http.listen(3000, function(){
  console.log('listening on *:3000');
});

html页面,如下所示

​

代码语言:javascript
复制
<html>
  <head>
      <script src="https://cdn.socket.io/socket.io-1.3.4.js">
            var socket = io('http://localhost');
            console.log(socket);
            socket.emit('registration',"test");
      </script>

  </head>
  <body>
EN

回答 1

Stack Overflow用户

发布于 2016-10-25 09:54:55

  1. 安装节点,
  2. 为应用程序创建一个文件夹,
  3. 创建package.json文件: { "name": "socket.io-test", "version": "0.0.1", "private": true, "scripts": { "start": "node server" }, "dependencies": { "express": "~4.13.1", "socket.io": "^1.4.6" } }
  4. 运行npm install,
  5. 创建server.js -您的原始代码粘贴在这里: var express =需要量(‘express’);var app = express();var http =需要量(‘http’).Server(App);var io =需要量(‘socket.io’)(Http);console.log(__dirname);app.use(express.static(_dirname+‘/public’));app.get('/',函数(req,res){ socket.io });Io.on(‘连接’,函数(套接字){socket.on(‘注册’,函数(Msg){console.log(‘用户数据’+ msg);});};http.listen(‘3000,函数(){console.log(’侦听*:3000');};
  6. 在工作目录中创建/public文件夹,
  7. 创建/public/registration.html文件: <html> <head> <script src='/socket.io/socket.io.js'></script> <script> var socket = io('http://localhost:3000'); socket.on('connect', function() { socket.emit('registration',"test"); document.getElementById('socket').innerHTML='connected'; }); </script> </head> <body> <h1>Testing socket.io with nodejs</h1> <h3 id="socket"></h3> </body> </html>
  8. 使用node server或npm start启动服务器,
  9. 在浏览器中转到localhost:3000

看起来不错

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40234889

复制
相关文章

相似问题

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