gpt4 book ai didi

Delphi 2010 - 套接字端口 119 不起作用

转载 作者:行者123 更新时间:2023-12-03 19:44:31 25 4
gpt4 key购买 nike

我正在端口 119 上打开一个套接字(使用 idHttpServer),它打开正常(没有报告错误,我可以通过查看 netstat 看到端口 119 已打开)。但是当我的套接字客户端向服务器 119 端口发送请求时,服务器没有收到请求,客户端也不工作。如果我将套接字端口更改为另一个(例如 90、80、120)它工作正常。
我猜套接字端口 119 是一个 SO 保留端口(但该端口上没有运行任何东西,我确信这一点)。我也知道新闻协议(protocol)使用了 119 端口(但没有新闻服务器)。
有谁知道为什么我无法连接到 119 端口?同样的事情发生在 110 端口(pop,但不是 pop server on)。这让我快疯了。

德尔福 2010
最新的印地版本
Windows 2003 服务器企业版。

最佳答案

它应该是您的开发机器中的东西,因为将 119 端口(或任何其他可用端口)与 INDY HTTP Server 一起使用是完全有效的。考虑到不建议在 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

帕斯
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;

结果:

Successfully connected

不要忘记允许防火墙上的流量,例如通过接受默认的 windows 对话框(在使用 windows 防火墙的情况下):

Firewall warning

关于Delphi 2010 - 套接字端口 119 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5274547/

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