本文将要写一个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.
执行效果如下:
本系列更多教程:
本文暂时没有评论,来添加一个吧(●'◡'●)