Datasnap Service应用程序失败

时间:2010-07-31 10:18:37

标签: delphi delphi-2010 datasnap

我使用Bob Swart的白皮书作为指南创建了Datasnap服务。我一直在使用VCL Forms应用程序作为服务器进行调试和部署。但是当我尝试部署服务版本时,它安装正常,然后我尝试启动该服务,它立即停止。事件日志中的错误表明端口集已经在使用中,我已经为TCPServerTransport和HTTPService尝试了不同的端口号,没有任何乐趣。 DSServer未设置为自动启动,因为我想从配置文件中设置端口号。事件日志中显示的错误消息为:

启动时服务失败:无法绑定套接字。地址和端口已经在使用..

我也尝试在启动和执行时写入日志文件,但看起来好像没有这么做。

在我不得不恢复到我真不想做的胖客户端之前,需要解决方案。

由于

2 个答案:

答案 0 :(得分:1)

如果您确定您配置的端口实际上是免费的且未被计算机上的任何其他软件使用,那么可能会运行某些防病毒/安全软件阻止所有软件监听任何特定的端口或任何端口,除了一些配置的端口。您收到的消息可能是反病毒/安全软件如何处理应用程序开始侦听端口的尝试的症状之一。

答案 1 :(得分:1)

首先从Sysinternals套件(现在由Microsoft运行)获取TCPView的副本,并使用它来监视哪个应用程序正在使用您要使用的端口。

我猜想如果应用程序可以单独运行(正如你所说的那样)并且你试图在服务中使用相同的端口,那么服务应用程序可能会在启动时打开端口你意识到它然后当你尝试手动打开端口时,应用程序发现它已经在使用中。或者不知何故,该应用程序试图打开端口两次。第一次成功,但可能是由于事件或意外的代码路径,应用程序尝试再次打开它并失败。 TCPView将帮助发现这一点。