Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
Android,在一个简单的在线游戏中连接两个用户,比如tic-tac-toe_Android_Sockets_Websocket - Fatal编程技术网

Android,在一个简单的在线游戏中连接两个用户,比如tic-tac-toe

Android,在一个简单的在线游戏中连接两个用户,比如tic-tac-toe,android,sockets,websocket,Android,Sockets,Websocket,比如说,我做了一个非常简单的游戏,比如tic-tac-toe。 以下是游戏策略: 首先,用户进入,点击开始按钮开始游戏, 然后我必须找到另一个在线的玩家,然后连接这两个玩家,现在,他们可以开始游戏并四处玩。 每个玩家都必须看到对手的动作(结果) 问题: 1-当用户点击开始时,我的应用程序应该如何对此作出反应 我是说我应该为这个用户打开一个插座吗?如果是,似乎我应该创建一个具有服务器套接字的Web服务器,当用户连接时,该Web服务器获取用户信息,并向他发送一些信息(我不知道是什么:() 2-当另一

比如说,我做了一个非常简单的游戏,比如tic-tac-toe。 以下是游戏策略:

首先,用户进入,点击开始按钮开始游戏, 然后我必须找到另一个在线的玩家,然后连接这两个玩家,现在,他们可以开始游戏并四处玩。 每个玩家都必须看到对手的动作(结果)

问题

1-当用户点击开始时,我的应用程序应该如何对此作出反应

我是说我应该为这个用户打开一个插座吗?如果是,似乎我应该创建一个具有服务器套接字的Web服务器,当用户连接时,该Web服务器获取用户信息,并向他发送一些信息(我不知道是什么:()

2-当另一个玩家来玩并点击开始时,我应该如何找到另一个也在线并准备好玩的玩家,并将这两个玩家连接起来,以便他们互相发送数据(如JSON数据)

我不想使用谷歌服务,我想建立我自己的。 我可以使用php和数据库,但不太适合使用android(不过我正在学习)

我知道我的问题有点广泛,但我一直在谷歌上搜索,我无法回避这个问题

有人能告诉我怎么开始吗,我的意思是给我一个计划,我不需要任何代码

我可以通过学习NodeJS来解决这个问题吗

也许是一些教程,一本书,一个例子


非常感谢

这确实是一个非常广泛的问题

我认为这一切归结为以下问题:设备如何相互发送数据?

有几种选择。我猜你希望玩家通过网络进行互动。我的建议是你使用服务器作为中间人。这有几个优点(例如,你可以让服务器检查规则是否得到遵守),但也有缺点(除其他外,您必须设置服务器并编写服务器脚本)

在这一点上,您确实可以使用套接字进行播放器到服务器的通信。因为最终您只能通过网络传输字符串,所以您必须序列化数据,JSON是许多选项之一


如果你想一想,你的问题并不比一个简单的聊天应用程序复杂。服务器将数据从一个玩家传输到另一个玩家。看看这个方向,比如这里:

你完全正确,我想要一个中间人,但我现在不知道如何开始,我可以制作一个WebService RESTful api,但如何开始?有什么问题吗她的教程?假设我制作了服务器,android用户启动了游戏,他向服务器发送了一些字符串,等待另一个玩家进来,现在,我应该存储这些字符串(这些字符串没有价值)在数据库中,当另一个用户进来时,向他显示此数据?这取决于您想要什么,两个选项都可以。最简单的方法是要求两个用户始终在线,如果服务器无法立即发送数据,则在发送者的设备上显示错误。好的,那么服务器将如何发送(推送)向用户提供新数据?通过使用玩家ip?谷歌是你的朋友,寻找推/拉方法。你现在有了所有线索,我无法为你编程;)