之前在网上接了一个活,客户的需求是做一个UDP协议的转发程序,实现在web系统通过websocket的方式接收协议传输过来的数据,我们知道websocket是基于tcp协议开发的本身就不支持UDP协议,这块我通过node.js作为服务端,做了一个转发程序,客户端通过循环请求的方式实现。
贴代码
var dgram = require("dgram");
var server = dgram.createSocket("udp4");
server.on("error", function (err) {
console.log("server error:\n" + err.stack);
server.close();
});
//定义缓存对象,目前做的事请求一次后清空同时超过固定条数时清空
var myarr = new Array(0)
var bufmgs;
server.on("message", function (msg, rinfo) {
var str = msg.toString("utf-8");
myarr.push(str)
console.log("server got: " + msg + " from " +
rinfo.address + ":" + rinfo.port);
bufmgs+=msg+"##";
if(bufmgs.length>3000){
bufmgs='';
}
if(myarr.l