【发布时间】:2012-08-25 20:19:33
【问题描述】:
我有一个使用 ServerSocket 用 Java 编写的服务器。
我有一个客户端,它通过公司防火墙阻止除公共端口之外的所有内容。
我已经在 SMTP 端口 (#25) 上启动了服务器。
有防火墙的用户连接到它,到目前为止一切正常。
然后服务器处理ServerSocket.accept()。据我了解,它会在随机端口上创建一个套接字(每次端口号都不同)。并且由于防火墙而失败。
我的问题是 - 我怎样才能让 ServerSocket.accept() 从我的白名单中为套接字选择一个端口?我知道它不适合大规模在线,但我想让我的一个朋友能够连接到我的服务器。
有可能吗?怎么做?
【问题讨论】:
-
我认为你需要在你朋友的身边使用类似 SOCKS 的东西:en.wikipedia.org/wiki/SOCKS。假设您的家庭路由器没有配置问题,您必须允许有出站服务器流量。
标签: java sockets firewall serversocket