1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > node.js 实现udp传输_Node.js实战15:通过udp传输文件。

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

时间:2022-01-29 22:26:34

相关推荐

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文件内容如下: is a web,used for obfuscate js file.

执行效果如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。