Zmq使用记录(二)

1。广播模式( pub - sub),

使用该模式服务端为订阅消息的客户端主动推送消息。这个好比事件或函数回调,客户端连接上服务端,一旦有关心的事情,就可以收到通知,还可以设置消息的过滤,只接收关心的,或者全部接收。

 

//pub - sub 模式

//服务端
server = class
private
  mqContext: TZMQContext;
  mqSocket: TZMQSocket;
end;



//创建
procedure server.create;
begin
  tick:= gettickcount;
  mqContext:= TZMQContext.Create;
  mqSocket:= mqContext.Socket(stPub);
  mqSocket.bind('tcp://*:5555');
end;


//广播
procedure server.notice;
var
  msg1: string;
begin
  while true do  
  beign
    msg1:= formatdatetime(now);
    mqSocket.send(msg1);
    sleep(1);
  end;
end;
//客户端
client = class
private
  mqContext: TZMQContext;
  mqSocket: TZMQSocket;
end;


//创建
procedure client.create;
begin
  mqContext:= TZMQContext.create;
  mqSocket:= mqContext.socket(stSub);
  mqSocket.subscribe(''); //可以设置过滤,或接收全部
  mqSocket.connect('tcp://localhost:5555');
end;


//接收
procedure client.recv;
var
  msg1: string;
begin
  if mqSocket.recv(msg1) > 0 then  
    mmo1.lines.add(msg1);
end;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值