【发布时间】:2013-04-01 13:24:45
【问题描述】:
我正在使用服务器套接字和套接字类在 java 中编写类似 telnet 的程序。这是我当前的客户端程序代码。用户输入服务器名称和他们想要连接的端口。
static Socket getSocket()
{
while(true)
{
System.out.println("What server do you want to connect to on which port?");
String info = sc.nextLine();
String host = info.split(" ")[0];
int port = Integer.parseInt(info.split(" ")[1]);
try
{
InetAddress ip = InetAddress.getByName(host);
return new Socket(ip, port);
}
catch (UnknownHostException e)
{
System.err.println("The host is unknown.");
}
catch (IOException e)
{
System.err.println("Network error.");
}
}
}
我尝试在 localhost 上进行连接,它成功了。然后我尝试使用 ip 地址作为网络名称在远程计算机上与我的朋友连接,但它没有给出异常。我用什么名字连接到远程服务器。
【问题讨论】:
-
你得到了什么异常?
-
我没有例外,它在他的远程计算机上,我在我的计算机上运行服务器,我现在无法联系他
-
可能你必须在你的 WAN 路由器中定义一个转发规则。
标签: java sockets networking serversocket