日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nodejs的socket网络编程

發(fā)布時間:2023/12/10 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nodejs的socket网络编程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡單介紹使用nodejs的net模塊進行socket網(wǎng)絡編程,不涉及深入的自定義應用層協(xié)議知識,僅僅進行了文本的傳輸,沒有設計數(shù)據(jù)的結構,數(shù)據(jù)的結束位置等。

socket默認使用傳輸層的TCP可靠送達協(xié)議,默認是長連接。

server端:

const net = require("net"); const HOST = "127.0.0.1"; const PORT = 6868;const server = net.createServer(); server.listen(PORT, HOST);// 重要:雙方建立鏈接時,會自動獲得一個socket對象(std,socket描述符) server.on("connection", (socket) => {// 遠程客戶端地址console.log(`connected:${socket.remoteAddress}:${socket.remotePort}`);// 本地服務端地址console.log(`local:${socket.localAddress}:${socket.localPort}`);// 向客戶端發(fā)送數(shù)據(jù)socket.write("服:你好客戶端");// 收到客戶端數(shù)據(jù)時socket.on("data", (data) => {console.log(`${data}`);});// 客戶端主動斷連,觸發(fā)end事件socket.on("end", (data) => {console.log(`客戶端${socket.remoteAddress}:${socket.remotePort}已斷連`);});// 如果鏈接斷開,write方法就無效了setInterval(() => {socket.write(`服:定時消息${Date.now()}`);}, 1000); });console.log(`server listen on ${HOST}:${PORT}`);

client端:

const net = require("net"); const HOST = "127.0.0.1"; const PORT = 6868;const client = new net.Socket();client.connect(PORT, HOST, () => {console.log(`connected to:${HOST}:${PORT}`);// 向服務端發(fā)送數(shù)據(jù)client.write("客:你好服務端");// 收到服務端數(shù)據(jù)時client.on("data", (data) => {console.log(data.toString());client.write("客:已收到");// client.end(); // 主動關閉此次tcp長連接});// 客戶端主動斷連,觸發(fā)自己的end事件client.on("end", () => {console.log("鏈接已主動斷開");}); });

總結

以上是生活随笔為你收集整理的nodejs的socket网络编程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。