# fibjs-nats **Repository Path**: qthis/fibjs-nats ## Basic Information - **Project Name**: fibjs-nats - **Description**: nats fibjs - **Primary Language**: TypeScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-19 - **Last Updated**: 2022-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: xlsx, Nodejs, fibjs ## README # fibjs-nats nats-client 针对fibjs的nats客户端实现 * 暂不支持wss * msgpack需要fibjsv0.30+ * sub/unsub当前实现先处理本地后send未确认ok * bug->https://github.com/lhkzh/fibjs-nats * fibjs->https://fibjs.org 使用

 const Nats = require("fibjs-nats").Nats;  
 //无授权认证方式
 var nc = Nats.make({json:true,url:"nats://127.0.0.1:4222"});    
 //tls认证方式
 var nc = Nats.make({json:true,url:"nats://127.0.0.1:4222",ssl:{cert:"/nats/certs/client.pem",key:crt:"/nats/certs/client-key.pem"}});  
 //通过-username:password认证
 var nc_auth_userpassword = Nats.make({json:true,url:"nats://myusername:mypassword@127.0.0.1:4222"});  
 //通过-authtoken认证
 var nc_auth_token = Nats.make({json:true,url:"nats://mytoken@127.0.0.1:4222"});  
 //通过websockt接入  
 var nc_by_ws = Nats.make({json:true,url:"ws://127.0.0.1:8022"});    
 //多cluster接入    
 var nc = Nats.make({json:true,servers:["nats://127.0.0.1:4222","nats://127.0.0.1:4223","ws://127.0.0.1:8022"]});     
  
 //订阅主题 
 var sub = nc.subscribe("svr.sum",function (data,meta) {  
     meta.reply(data.a+data.b);  //响应消息
 });      
 console.log(nc.request("svr.sum",{a:2,b:3})==5);      
 //取消订阅
 sub.cancel();    
 nc.unsubscribe(sub);    
 nc.unsubscribe(sub.sid);    
 nc.unsubscribeSubject("svr.sum");    
 //取消所有订阅
 uc.unsubscribeAll();    
 
 nc.subscribe("svr.log",function (data,meta) {  
     console.log("svr.log",data);
 });  
 //发布消息
 nc.publish("svr.log", "on xxx");    
 //ping
 console.log(nc.ping());    
 //释放连接
 nc.close();