gpt4 book ai didi

delphi - Firebird 事件和防火墙问题 (TIBEvents)

转载 作者:行者123 更新时间:2023-12-03 19:24:51 26 4
gpt4 key购买 nike

我会使用 Firebird Events 的力量使用带有 TIBEvents 组件的 delphi 应用程序。

问题是防火墙,不是每次都有正确的角色,当我尝试注册事件时,应用程序停止响应,我必须等待...

我该怎么办?

我也尝试在单独的线程中调用 register 函数,但结果相同。

function RegisterEvents(data : Pointer) : Integer;
begin
with Form1 do begin
DBOspitiEvent.Registered := true;
end;
end; //<-- AFTER THIS, APPLICATION IS BLOCKED (for a while)

procedure TForm1.Button2Click(Sender: TObject);
var
ThreadId : Cardinal;
ThreadHandle : Integer;
begin
ThreadHandle := BeginThread(nil,0,@RegisterEvents,nil,0,ThreadId);
if ThreadHandle = 0
then ShowMessage('Error');
end;

最佳答案

对于事件,客户端需要建立单独的连接,默认情况下 Firebird 为此使用随机端口。结合防火墙,这会导致问题,因为端口是不允许的。

您可以将 Firebird 配置为使用固定端口,方法是编辑 firebird.conf 并将 RemoteAuxPort 设置为固定值(例如 3051),然后重新启动 Firebird。然后,您可以配置防火墙以允许此端口。

另见 How to configure events with firewall?

关于delphi - Firebird 事件和防火墙问题 (TIBEvents),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49918075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com