應當向什麼東西在你的開發機,因爲它是完全有效的使用119端口(或其他任何可用的端口)與INDY HTTP服務器。考慮到不建議在1024個保留端口之下使用不同於80的端口來達到這個目的,但這是另一回事。
我做了一個簡單的測試,兩個應用程序。以下是相關部分:
服務器
DFM
object Form2: TForm2
Caption = 'Server'
object IdHTTPServer1: TIdHTTPServer
Active = True
Bindings = <>
DefaultPort = 119
Left = 56
Top = 40
end
end
客戶
DFM
object Form3: TForm3
Caption = 'Form3'
object Memo1: TMemo
Left = 16
Top = 8
Width = 185
Height = 89
Lines.Strings = (
'Memo1')
TabOrder = 0
end
object Button1: TButton
Left = 207
Top = 8
Width = 75
Height = 25
Caption = 'Connect'
TabOrder = 1
OnClick = Button1Click
end
object Button2: TButton
Left = 207
Top = 39
Width = 75
Height = 25
Caption = 'Disconnect'
TabOrder = 2
OnClick = Button2Click
end
object IdTCPClient1: TIdTCPClient
OnStatus = IdTCPClient1Status
ConnectTimeout = 0
Host = 'localhost'
IPVersion = Id_IPv4
Port = 119
ReadTimeout = -1
Left = 32
Top = 40
end
end
PAS
procedure TForm3.Button1Click(Sender: TObject);
begin
IdTCPClient1.Connect;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
IdTCPClient1.Disconnect;
end;
procedure TForm3.IdTCPClient1Status(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: string);
begin
Memo1.Lines.Add(AStatusText);
end;
其結果是:
不要忘記,以允許防火牆上的流量,例如通過接受默認窗口對話框(在使用Windows防火牆的情況下):
爲什麼不用120呢?真的有必要使用119? – RBA 2011-03-11 15:14:59
端口119僅在啓動服務器時使用,或者在服務器停止時使用。無論如何,下面的評論之一,以確定哪個進程的端口打開 – 2011-03-11 21:35:23