[英]Can only access to my server through “localhost”
我正在编写一个需要多人游戏的交易游戏。 我意识到,我的客户端只能通过运行服务器的PC上的“本地主机”进行访问。 我如何确定服务器是否在线,所以我知道防火墙还是其他? 如果有人已经知道解决方案,我会更开心。
谢谢!
编辑:我的操作系统是Windows 7。
更新:我设法使用通过ipconfig找到的两个地址连接到同一台计算机上的服务器。 我的rooter向我求助的一个人,我不知道另一个人是谁来的。 首先,我尝试通过在Google上搜索“我的IP是什么”找到的,但没有成功。 我仍然无法通过连接到同一路由器(fritz-box)的其他PC连接到服务器。
Server:
ExecutorService executor = Executors.newFixedThreadPool(100);
ServerSocket server;
try {
server = new ServerSocket(5555);
System.out.println("Server gestartet");
while(true){
Socket client = server.accept();
executor.execute(new ClientHandler(client));
}
}catch (Exception e) {
e.printStackTrace();
}
}
Client:
try {
InetAddress addr = InetAddress.getByName("MY IP");
//Works
client = new Socket("localhost",Port);
//Does not work
client = new Socket(addr,Port);
//Does not work
client = new Socket("MY IP",Port);
System.out.println("Client gestartet");
//Streams
out = client.getOutputStream();
writer = new PrintWriter(out);
in = client.getInputStream();
reader = new BufferedReader(new InputStreamReader(in));
// ------------------------------------------------
String s = null;
while((s=reader.readLine())!=null){
render(s);
}
} catch (IOException e)
{
e.printStackTrace();
}
我将ClientHandler排除在外,因为我确定没有问题。
如果是防火墙问题,您将获得连接超时。 如果出现“连接被拒绝”,则表明服务器未运行。
请不要修改你ServerSocket
的建议在这里的其他地方建造。 您这样做的方式是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.