国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

node.js 用socket實現聊天的示例代碼

2019-11-19 15:09:26
字體:
來源:轉載
供稿:網友

本文介紹了node.js 用socket實現聊天的示例代碼,分享給大家,也給自己留個筆記,具體如下:

服務器搭建

app.js

const http = require("http");const express = require("./express");//創建一個服務const server = http.createServer(express);//監聽服務端口server.listen(8001,()=>{  console.log("服務端已經啟動,請訪問 http://localhost:8001");}); 

express.js

const url=require("url");const fs=require("fs");function express(req,res){  var urlObj=url.parse(req.url);  //console.log(urlObj);  var filePath="./www"+urlObj.pathname;  var content="not found";  if(fs.existsSync(filePath)){    content=fs.readFileSync(filePath);  }    res.end(content.toString());}module.exports=express; 

index.html

<!DOCTYPE html><html lang="en">  <head>   <meta charset="utf-8"/>    <title>Socket.IO chat</title>    <style>     * { margin: 0; padding: 0; box-sizing: border-box; }     body { font: 13px Helvetica, Arial; }     form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }     form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }     form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; }     #messages { list-style-type: none; margin: 0; padding: 0; }     #messages li { padding: 5px 10px; }     #messages li:nth-child(odd) { background: #eee; }    </style>   </head>   <body>    <ul id="messages"></ul>    <form action="">     <input id="m" autocomplete="off" /><button>Send</button>    </form>    <script src="js/lib/jquery-1.11.1.js"></script>    <script src="js/lib/socket.io.js"></script>     <script src="js/index.js"></script>   </body></html> 

客戶端服務搭建與服務端通信

我們要建立服務端socket請求連接

io.on('connection', function(socket){  console.log('a user connected');  //斷開連接  socket.on('disconnect', function(){    console.log('user disconnected');  });}); 

index.js

//客戶端建立連接 var socket = io(); 客戶端向服務端發送請求index.js$('form').submit(function(){  //觸發事件  socket.emit('chat message', $('#m').val());  $('#m').val('');  return false; });  

app.js

//接收客戶端的信息socket.on('chat message', function(msg){  console.log('message: ' + msg);}); 

將服務端的數據廣播到客戶端去

socket.on('chat message', function(msg){    console.log('message: ' + msg);    socket.broadcast.emit("clientE",msg);  }); 

客戶端接收服務端廣播出來的數據

socket.on('clientE', function(msg){  $('#messages').append($('<li>').text(msg));}); 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东阳市| 米林县| 克东县| 云霄县| 叙永县| 凉城县| 分宜县| 天气| 赤壁市| 忻城县| 玉龙| 新巴尔虎右旗| 通州区| 新巴尔虎左旗| 溆浦县| 海安县| 东平县| 盖州市| 子长县| 库车县| 丰城市| 陵川县| 新乐市| 巴林右旗| 工布江达县| 凤凰县| 祁阳县| 大姚县| 萝北县| 海丰县| 金堂县| 龙口市| 清远市| 南皮县| 桐乡市| 彭泽县| 百色市| 若尔盖县| 西贡区| 泸定县| 那曲县|