我是这个网站的新手。我在 Java 中遇到了套接字编程的问题。我写了一个服务器,它处理客户端。一切都很好,工作正常。
如果我要运行服务器的网络受密码保护,我该怎么办?这意味着我们必须提供我们要登录的系统的用户名和密码?
如果我在这种受保护的网络上运行服务器并尝试通过客户端连接,则不会创建客户端套接字,因为服务器拒绝连接。
如果我在这种受保护的网络上运行服务器并尝试通过客户端连接,则不会创建客户端套接字,因为服务器拒绝连接。
服务器拒绝连接的原因有很多。如果您可以在客户端和服务器在同一台机器上运行时连接,但当客户端在不同的机器上时不能连接,则问题可能是服务器正在运行防火墙并且不允许来自“外部”的连接。
如果客户端位于完全不同的网段上,即客户端位于 Internet 上“很远”的某个地方,则两个系统之间可能存在多个防火墙,其中任何一个都可能拒绝连接。
另一种可能性是,当服务器打开它时ServerSocket
,您将其绑定到127.0.0.1
而不是0.0.0.0
. 在这种情况下,服务器只能接受来自 的连接localhost
,即来自同一台机器的连接。它将完全不知道源自其他任何地方的连接。
如果没有更好地解释客户端和服务器的位置,就不可能给出更好的答案。但是有一点是肯定的:您需要身份验证才能“登录”到系统这一事实与您的情况无关。