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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:25:34
字體:
來源:轉載
供稿:網友

本文介紹了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));});             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 大姚县| 新乐市| 嘉禾县| 辽阳县| 勃利县| 盐山县| 岳普湖县| 宜宾市| 米易县| 上饶县| 阜阳市| 昌吉市| 毕节市| 林芝县| 建水县| 朝阳区| 英超| 潮安县| 吉首市| 天祝| 松桃| 广德县| 昭觉县| 曲水县| 永善县| 花莲县| 渝中区| 泰来县| 陵川县| 安福县| 兴隆县| 舞钢市| 北流市| 台东县| 濉溪县| 循化| 广东省| 咸阳市| 平乐县| 教育| 育儿|