gpt4 book ai didi

linux - TIdSMTPServer 和 TIdPOP3Server 无法在 UBUNTU LINUX 中启动

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:58:33 27 4
gpt4 key购买 nike

我有一个带有 TIdSMTPServer 和 TIdPOP3Server 的邮件服务器,它在 Windows 下的 lazarus 中运行良好,但是如果我尝试在 linux 下启动我的程序,我会尝试:

SMTPServer.Active := True;
POP3Server.Active := True;

我收到此错误消息:“无法绑定(bind)套接字。地址和端口已在使用中。”我尝试在控制中心禁用端口 25 和 110,并在终端中禁用一些命令,但没有任何帮助。有人可以提示我如何解决这个问题吗?

最佳答案

这是旧版 Indy 10 中的一个已知问题,已在 6 个月前在 Indy SVN 的修订版 5066 中修复。

如果服务器激活时服务器的 Bindings 集合为空,Active 属性 setter 会创建一个默认的 IPv4 绑定(bind),如果操作系统支持,还会创建一个默认的 IPv6 绑定(bind).两个绑定(bind)都绑定(bind)到所有本地 IPv4/IPv6 地址上的相同 DefaultPort。将单独的 IPv4/IPv6 套接字绑定(bind)到相同的 IP:Port 在 Windows 上工作,它愉快地分别管理 IPv4 和 IPv6,但它在 Linux 和 Android(可能还有所有其他 *Nix 系统)上不起作用,这就是为什么你得到“已在使用”错误 - IPv6 绑定(bind)失败,因为 IPv4 绑定(bind)已在使用 IP:端口。

为避免错误,您可以:

  1. 升级到最新的 SVN 快照,它不会在 Linux 和 Android 上创建双重 IPv4/IPv6 默认绑定(bind)。

  2. 激活服务器时,确保 Bindings 集合不为空。根据需要明确指定您自己的绑定(bind)。

关于linux - TIdSMTPServer 和 TIdPOP3Server 无法在 UBUNTU LINUX 中启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23088378/

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