在java中,我使用什么名称连接到服务器套接字
我正在用java编写一个类似telnet的程序,使用服务器套接字和套接字类。这是客户端程序的当前代码。用户输入服务器名称和要连接的端口在java中,我使用什么名称连接到服务器套接字,java,sockets,networking,serversocket,Java,Sockets,Networking,Serversocket,我正在用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(); Str
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路由器中定义转发规则。您是否在家庭路由器中配置了NAT?告诉它对端口X的请求必须重定向到您的电脑?此外,请检查与ISP的合同条款。