Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java中的多人游戏通过网络发送变量?_Java_Multiplayer - Fatal编程技术网

如何使用java中的多人游戏通过网络发送变量?

如何使用java中的多人游戏通过网络发送变量?,java,multiplayer,Java,Multiplayer,每次播放机与服务器连接时,我希望服务器向变量:connectedPlayers添加1,并将其发送给与此服务器连接的所有客户端。 一个播放器工作正常,服务器向我的客户端发送1。 但是当我连接到另一个客户端时,事情会连接起来,ConnectedPlayer现在是:服务器端2,但在客户端是:51433554434,0,2355443216777216 我正在使用的一些代码: user=newarraylist(); serverSocket=新的serverSocket(7777); 螺纹=新螺纹(此

每次播放机与服务器连接时,我希望服务器向变量:connectedPlayers添加1,并将其发送给与此服务器连接的所有客户端。 一个播放器工作正常,服务器向我的客户端发送1。 但是当我连接到另一个客户端时,事情会连接起来,ConnectedPlayer现在是:服务器端2,但在客户端是:51433554434,0,2355443216777216

我正在使用的一些代码:

user=newarraylist();
serverSocket=新的serverSocket(7777);
螺纹=新螺纹(此);
thread.start();
在while(true)循环中的run方法中:

socket=serverSocket.accept();
ConnectedPlayer++;
user.add(空);
对于(int i=0;i
Users类也是一个可运行的实现类,它执行以下操作:

//reveive some stuff
for(int i = 0; i < connectedPlayers; i++){
    if(user.get(i) != null){
        //send some other stuff
        user.get(i).out.writeInt(connectedPlayers); //out = DataOutputStream
    }
}
为了让这项工作顺利进行,我们非常感谢您的帮助。 如果这是太多的代码和东西,告诉我,我会很高兴改变它


提前谢谢你,Joeri。

你有什么例外吗?没有,我没有@谢谢,我来看看!您可以通过ObjectOutputStream API发送对象。由于我们不知道您发送的其他内容,因此很难预测输出行为。