• socket.io安装部署


    需要node.js环境

    创建package.json

      npm init

       

    下载相关依赖

    npm install --save express@4.10.2

    npm会在当前目录下载所需要的依赖到node_modules的文件夹中

    下载安装socket.io

      npm install -save socket.io

    事例

    服务端示例:

     1 var app = require('express')();
     2 var http = require('http').Server(app);
     3 var io = require('socket.io')(http);
     4 
     5 //app.get('/', function(req, res){
     6 //  res.send('<h1>Hello world</h1>');
     7 //});
     8 
     9 /*app.get('/', function(req, res){
    10   res.sendFile(__dirname + '/index.html');
    11 });
    12 */
    13 
    14 app.get('/', function(req, res){
    15   res.sendfile('index.html');
    16 });
    17 
    18 /*io.on('connection', function(socket){
    19   console.log('a user connected');
    20 });
    21 
    22 io.on('connection', function(socket){
    23   console.log('a user connected');
    24   socket.on('disconnect', function(){
    25     console.log('user disconnected');
    26   });
    27 });
    28 
    29 io.on('connection', function(socket){
    30   socket.on('chat message', function(msg){
    31     console.log('message: ' + msg);
    32   });
    33 });*/
    34 
    35 
    36 io.on('connection', function(socket){
    37    socket.on('chat message', function(msg){
    38     io.emit('chat message', msg);
    39   });
    40 })
    41 
    42 
    43 http.listen(3000, function(){
    44   console.log('listening on *:3000');
    45 });

     客户端示例:

     1 <!doctype html>
     2 <html>
     3   <head>
     4     <title>Socket.IO chat</title>
     5     <style>
     6       * { margin: 0; padding: 0; box-sizing: border-box; }
     7       body { font: 13px Helvetica, Arial; }
     8       form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
     9       form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }
    10       form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; }
    11       #messages { list-style-type: none; margin: 0; padding: 0; }
    12       #messages li { padding: 5px 10px; }
    13       #messages li:nth-child(odd) { background: #eee; }
    14     </style>
    15   </head>
    16   <body>
    17     <ul id="messages"></ul>
    18     <form action="">
    19       <input id="m" autocomplete="off" /><button>Send</button>
    20     </form>
    21 <script src="http://code.jquery.com/jquery-1.11.1.js"></script>
    22 <script src="/socket.io/socket.io.js"></script>
    23 <script>
    24   var socket = io();
    25   $('form').submit(function(){
    26     socket.emit('chat message', $('#m').val());
    27     $('#m').val('');
    28     return false;
    29   });
    30   socket.on('chat message', function(msg){
    31     $('#messages').append($('<li>').text(msg));
    32   });
    33 </script>
    34 
    35 
    36   </body>
    37 </html>
  • 相关阅读:
    centos6.5下的mysql5.6.30安装
    mysql常见错误
    fpm打包redis3.0.7
    centos6.5安装fpm打包工具
    centos6.5安装flume
    centos6.5 安装mono
    利用rsyslog 对linux 操作进行审计
    CentOS7修改服务器主机名方法
    CentOS 7 修改网卡名称为eth
    keepalived配置日志
  • 原文地址:https://www.cnblogs.com/dhl-2013/p/6203876.html
Copyright © 2020-2023  润新知