我已经为tcp(SSL)服务器编写了代码,该服务器接收客户端连接并将数据分发给客户端。服务器GUI基于JavaFX。当我在NetBeans或Eclipse中运行服务器软件时,它可以正常工作,接收客户端连接并发送和接收数据。但当我将代码编译到可执行的Jar中时,服务器不会接收连接,客户端代码会抛出:连接拒绝异常。
我试着ping服务器,当它从可执行Jar运行时,服务器似乎不会监听特定的端口,但当它从IDE中运行时会监听。
老实说,我不知道是什么原因导致了这种行为。如果您对如何解决此问题有任何见解、建议或线索,我们将不胜感激。我不认为具体的代码是相关的,但如果有人认为是,我会发布服务器代码。
事实证明,问题是相关的密钥库没有正确加载。它们被加载为FileInputStreams,当嵌入到Jar文件中时将不起作用。我将它们恢复为作为InputStreams加载,它与SSL上下文配合得很好,现在一切似乎都正常。
感谢所有的建议,他们挑衅地帮助我消除了一路上的事情。