日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

node.js 实现udp传输_Node.js实战15:通过udp传输文件。

發布時間:2024/9/27 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 node.js 实现udp传输_Node.js实战15:通过udp传输文件。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文將要寫一個udp服務器,和一個udp客戶端,并實現客戶端發送文件給服務器。

服務器端

代碼如下:var dgram = require("dgram");

server();

function server(){

var socket = dgram.createSocket("udp4");

socket.on("message",function(msg,rinfo){

process.stdout.write(msg.toString());

});

socket.on("listening",function(){

console.log("server ready:",socket.address());

});

socket.bind(8000);

}

代碼解讀:

1、dgram是nodejs的內置模塊,提供了 UDP 數據包 socket 的實現。

2、server()函數提供了監聽和消息響應方法,當接收到數據時,會進行輸出顯示。

客戶端

代碼如下:var dgram = require("dgram");

var fs = require("fs");

client();

function client(){

//通過流讀取文件內容

var inStream = fs.createReadStream("./file.txt");

inStream.on("readable",function(){

send();

});

function send(){

var message = inStream.read(16);

var socket = dgram.createSocket("udp4");

//沒有內容了?關閉連接

if(!message){

return socket.unref();

}

//連接本地8000端口

socket.send(message,0,message.length,8000,"127.0.0.1",function(err,bytes){

send();

});

}

}

代碼解讀:

1、客戶端完成兩項工作:讀取文件file.txt、向服務器發送;

2、讀取是通過流進行的,讀取后即進行發送,當讀取完成時,關閉socket。

file.txt文件內容如下:jshaman.com is a web,used for obfuscate js file.

執行效果如下:

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的node.js 实现udp传输_Node.js实战15:通过udp传输文件。的全部內容,希望文章能夠幫你解決所遇到的問題。

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