Java 正在处理网络库冻结(未引发异常)
所以我做了一个小游戏,用Processing的Net的Java 正在处理网络库冻结(未引发异常),java,networking,processing,tcp-ip,Java,Networking,Processing,Tcp Ip,所以我做了一个小游戏,用Processing的Net的server和client类以服务器/客户端的方式工作 当我在同一台设备(Ubuntu15.10狡猾的狼人)上同时运行服务器和客户端时,一切正常,但当试图连接到运行在Windows10上的服务器时,客户端的构造函数冻结。客户端和服务器都使用一个名为Connexion的类: Connexion{ boolean isServer; Server s; Client c; Connexion(PApplet source, in
server
和client
类以服务器/客户端的方式工作
当我在同一台设备(Ubuntu15.10狡猾的狼人)上同时运行服务器和客户端时,一切正常,但当试图连接到运行在Windows10上的服务器时,客户端的构造函数冻结。客户端和服务器都使用一个名为Connexion
的类:
Connexion{
boolean isServer;
Server s;
Client c;
Connexion(PApplet source, int port){ //To create a server
isServer = true;
s = new Server(source, port);
}
Connexion(PApplet source, int port, String ip){ //To create a client
isServer = false;
c = new Client(source, ip, port);
}
void update(){/*Dealing with messages ...*/}
}
我所做的是导出它,然后启动它两次,一次作为服务器,一次作为客户端。使用127.0.0.1
作为IP,它们都运行良好,我完成了所有游戏
我只是想让它在不同的设备上工作,在Windows10上作为服务器运行,在Ubuntu上作为客户端运行。服务器代码运行正常,在初始化过程中不会发生错误或冻结。但是,当客户端尝试连接时,行c=newclient(…)
暂停:没有抛出异常,控制台中没有消息。。。什么都没有(我用println()
s知道它停在哪里)。(使用的IP是由服务器端的Server.IP()
提供的,192.168.[…])
我猜可能是防火墙问题(McAffe要求获得访问互联网的许可,我同意),或者是Windows阻止了什么?没有线索。警察说
如果连接出现任何问题,例如主机不在那里或正在侦听其他端口,则会引发异常
当我尝试做相反的事情时(服务器作为Ubuntu,客户端作为Windows),server.ip()
给出了127.0.1.1,但什么也没有发生,但我怀疑这是错误的ip。遗憾的是,我没有时间去测试其他东西
因此,我的问题是,我如何才能做到这一点?如果在不接触系统设置的情况下无法做到这一点,多人游戏如何管理它?(一直以来使用的端口都是6666,我怀疑它是从那里来的,但我会写出来以防万一)。您确定可以从客户机访问服务器计算机吗?使用浏览器或curl命令仔细检查。我对网络非常陌生。。。我将在接下来的几天内检查“curl”命令是什么。。。