调整 TCP/UDP 服务器运行时
Adjust TCP/UDP Server Runtime
我正在使用 Embarcadero RAD Studio 10。我正在尝试在我的应用程序中使用 Indy client/server 组件。
我想在运行时调整TCP/UDP服务器IP地址和端口。
我可以在设计时看到默认设置:
我可以将条目添加到 Bindings
并设置 DefaultPort
。
但是,我想在程序运行时执行此操作 运行。我想在我的 UI 中设置绑定和端口,然后按下一个按钮让服务器使用我输入的内容。
我该怎么做?
Bindings
是 TIdSocketHandle
个对象的集合。在设计时向集合添加新条目与在运行时调用 Bindings.Add()
方法相同。
TIdSocketHandle
具有 IP
和 Port
属性。当一个 TIdSocketHandle
对象被创建时,它的 Port
被初始化为 DefaultPort
.
的当前值
要执行您要求的操作,只需调用 Bindings.Add()
并设置新对象的 IP
和 Port
属性。例如:
Delphi:
procedure TMyForm.ConnectButtonClick(Sender: TObject);
var
LIP: string;
LPort: TIdPort;
LBinding: TIdSocketHandle;
begin
LIP := ServerIPEdit.Text;
LPort := IntToStr(ServerPortEdit.Text);
IdTCPServer1.Active := False;
IdTCPServer1.Bindings.Clear;
LBinding := IdTCPServer1.Bindings.Add;
LBinding.IP := LIP;
LBinding.Port := LPort;
IdTCPServer1.Active := True;
end;
C++:
void __fastcall TMyForm::ConnectButtonClick(TObject *Sender);
{
String LIP = ServerIPEdit->Text;
TIdPort LPort = IntToStr(ServerPortEdit->Text);
IdTCPServer1->Active = false;
IdTCPServer1->Bindings->Clear();
TIdSocketHandle *LBinding = IdTCPServer1->Bindings->Add();
LBinding->IP = LIP;
LBinding->Port = LPort;
IdTCPServer1->Active = true;
}
与 TIdUDPServer
相同。
我正在使用 Embarcadero RAD Studio 10。我正在尝试在我的应用程序中使用 Indy client/server 组件。
我想在运行时调整TCP/UDP服务器IP地址和端口。
我可以在设计时看到默认设置:
我可以将条目添加到 Bindings
并设置 DefaultPort
。
但是,我想在程序运行时执行此操作 运行。我想在我的 UI 中设置绑定和端口,然后按下一个按钮让服务器使用我输入的内容。
我该怎么做?
Bindings
是 TIdSocketHandle
个对象的集合。在设计时向集合添加新条目与在运行时调用 Bindings.Add()
方法相同。
TIdSocketHandle
具有 IP
和 Port
属性。当一个 TIdSocketHandle
对象被创建时,它的 Port
被初始化为 DefaultPort
.
要执行您要求的操作,只需调用 Bindings.Add()
并设置新对象的 IP
和 Port
属性。例如:
Delphi:
procedure TMyForm.ConnectButtonClick(Sender: TObject);
var
LIP: string;
LPort: TIdPort;
LBinding: TIdSocketHandle;
begin
LIP := ServerIPEdit.Text;
LPort := IntToStr(ServerPortEdit.Text);
IdTCPServer1.Active := False;
IdTCPServer1.Bindings.Clear;
LBinding := IdTCPServer1.Bindings.Add;
LBinding.IP := LIP;
LBinding.Port := LPort;
IdTCPServer1.Active := True;
end;
C++:
void __fastcall TMyForm::ConnectButtonClick(TObject *Sender);
{
String LIP = ServerIPEdit->Text;
TIdPort LPort = IntToStr(ServerPortEdit->Text);
IdTCPServer1->Active = false;
IdTCPServer1->Bindings->Clear();
TIdSocketHandle *LBinding = IdTCPServer1->Bindings->Add();
LBinding->IP = LIP;
LBinding->Port = LPort;
IdTCPServer1->Active = true;
}
与 TIdUDPServer
相同。