- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我使用 Indy 10 TidHttpServer 在 delphi xe2 上实现了一个网络服务,在局域网中运行良好。
我发现的问题出在一台有 2 个网卡的计算机上,一个是工作正常的常规 NIC,另一个是虚拟 NIC,它将流量路由到连接到电话公司的 x.25 线路以进行信用卡处理.
如果服务器重新启动(他们喜欢经常这样做),Windows 会首先安装虚拟 NIC,我的服务器会以某种方式绑定(bind)到它。我根本不明白它是如何工作的。
我阅读了来自 indy 的文档,它应该绑定(bind)到所有 ip,并且应该监听两个网络。然而,这并没有发生。我基本上使用默认配置,除了分配给 8888 的端口。
有没有办法从 Indy http 服务器中排除这个网卡?
如果可能的话,我正在寻找一个例子。
本地网络在192.*范围内,虚拟网卡在187.*范围内。今天为了让它工作,我需要禁用虚拟网卡,加载我的服务器,然后再次启用虚拟网卡。工作正常。但如果重新启动,我需要重新做一遍。
最佳答案
您可以在激活服务器之前通过手动添加和配置绑定(bind) 将您的服务器绑定(bind)到特定的卡。一个基本的例子是这样的:
uses IdSocketHandle;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
SHandle: TIdSocketHandle;
begin
TIdTCPServer1.Bindings.Clear; //make sure there's no other bindings
SHandle := IdTCPServer1.Bindings.Add;
SHandle.IP := '192.168.0.15';
SHandle.Port := 3748;
IdTCPServer1.Active := True;
end;
如您所见,该示例是使用 TIdTCPServer
完成的。它适用于任何 TIdCustomTCPServer
后代,包括 TIdHTTPServer
。
关于delphi - 将 Indy TidHttpServer 与其中一个网卡绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15530817/
代码如下: //获取电脑的CPU信息 function OnlyU(){ $a = ''; $b = array(); if(function_
我是一名优秀的程序员,十分优秀!