读书人

这个程序究竟是什么有关问题啊

发布时间: 2012-04-11 17:42:33 作者: rapoo

这个程序究竟是什么问题啊?
如题,这是一个Delphi控制台程序

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils,
zmqmm in '..\pub_sub\sub_client\zmqmm.pas';

var
context:pointer;
frontend:pointer;
backend:pointer;
zmq_poll:smallint=1;
items:array[0..1] of zmq_pollitem_t;
item:zmq_pollitem_tp;


msg:zmq_msg_t;
msgp:zmq_msg_tp;

begin
msgp:=@msg;
context:=zmq_init(1);
frontend:=zmq_socket(context,6);
backend:=zmq_socket(context,5);

zmq_bind(frontend,'tcp://*:1038');
zmq_bind(backend,'tcp//*:1039');

items[0].socket:=frontend;
items[0].fd:=0;
items[0].events:=1;
items[0].revents:=0;
items[1].socket:=backend;
items[1].fd:=0;
items[1].events:=1;
items[1].revents:=0;

item:=@items[0];

while True do
begin
zmq_poll(items,2,-1);
if (items[0].revents<>0) then
begin
while True do
begin
zmq_msg_init(msgp);
zmq_recv(frontend,msgp,0);
zmq_send(backend,msgp,0);
zmq_msg_close(msgp);
end;
end;
if (items[1].revents<>0) then
begin
while True do
begin
zmq_msg_init(msgp);
zmq_recv(backend,msgp,0);
zmq_send(frontend,msgp,0);
zmq_msg_close(msgp);
end;
end;
zmq_close(frontend);
zmq_close(backend);
zmq_term(context);
end;

end.



报错是:[Pascal Error] Project1.dpr(40): E2066 Missing operator or semicolon

但是39行是:zmq_poll(items,2,-1);它没有缺操作符,也不差分号啊


[解决办法]
把其它代码删了一点一点试,光写zmq_poll(items,2,-1)这个能过不~

读书人网 >.NET

热点推荐