zoukankan      html  css  js  c++  java
  • node之websocket

    文件结构:

    server代码:

    var http = require('http');
    var fs = require('fs');
    var websocket = require('socket.io');
    var socketIo = websocket.listen(80);
    
    var server = http.createServer(function(request,response){
        fs.readFile(__dirname+request.url,function(err,data){ 
          response.setHeader("Server","TestName");     
          response.setHeader("Expires", 'Wed, 28 May 2017 09:54:57 GMT');
          response.setHeader("Cache-Control", "max-age=10000000000");
          //ajax访问时,没它会报错
          response.setHeader("Access-Control-Allow-Origin", "*");
          //返回类型
          response.writeHead(200, {'Content-Type': 'text/html'}); 
          response.end(data); 
        });   
    });
    
    socketIo.on('connection', function(socket){
        console.log('a user connected');
        socket.on("disconnect", function() {
            console.log("a user go out");
        });
        socket.on("msgFromBroswer", function(obj) {
            socketIo.emit("msgFromServer", obj);
            console.log(obj);
            console.log(obj.msg);
        });
    });
    
    server.listen(3000);
    console.log('listening port 3000');

    index.html代码:

    <html>
    <head>
      <script src="http://cdn.bootcss.com/socket.io/2.0.1/socket.io.js"></script>
    </head>
    <body>
      websocket
    </body>
    </html>
    
    <script>
        var socket = io.connect('ws://127.0.0.1:80');
        socket.emit("msgFromBroswer", {"name" : navigator.userAgent, "msg" : "hello world"});
        socket.on("msgFromServer", function(obj) {
            console.log(obj);
        });
    </script>

    PS:别忘了初始化引用的模块

  • 相关阅读:
    Ubuntu中php.ini修改运行内存
    Parse error: syntax error, unexpected end of file in * 的解决办法
    php函数积累
    php值传递和引用传递
    kohana导入和导出
    gleez框架获得时间控件
    php获得时间段的月
    图片垂直居中代码
    三角代码
    HTML5 SVG可爱笑脸动画
  • 原文地址:https://www.cnblogs.com/wangxuehao/p/6913300.html
Copyright © 2011-2022 走看看