我正在制作多人网络游戏。现在要连接到服务器,客户端需要服务器的 IP 地址。
所以,我的实现方式如下。
客户端在广播 IP 和一个端口上广播它的 ip 地址,说 A。服务器通过 A 侦听它,并且
服务器与客户端创建一个新的 UDP 连接,就像客户端在端口 B 上所说的那样。它发送游戏所需的所有重要信息,包括其 IP。
客户端是此连接的服务器,并通过端口 B 从服务器接收数据。
现在,A 和 B 是常数。因此,当我需要服务器侦听不同线程中的多个客户端时,我可以将 diff 值设置为线程的 A 和 B,但在客户端文件中,A 和 B 独立于这些线程。所以它给了我一个错误
bind: Address already in use
对此的合理解决方案是什么?
我正在使用 Node.js 和 Socket.io 构建一个大型多人游戏。所有玩家都将在同一张无限地图上移动(想想 Minecraft)。当玩家移动时,我加载他们可见的图块。当玩家移动时,他们的动作应该发送给所有可以看到他们的玩家。
我的问题是;我应该如何构建我的套接字?为所有玩家提供一个插槽似乎不会扩展。我可以将世界分成多个块,但我不确定如何管理块边界。由于大多数玩家大部分时间都无法看到对方,因此我希望每个玩家的套接字只能获得与他们相关的更新。
我读过 Socket.io 有一个“房间”的概念,它只是获得相同消息的套接字。为每个连接的玩家设置一个单独的房间是否可行,我可以将移动到附近的任何其他玩家的插槽添加到其中?然后每次玩家移动时,我都可以向那个房间发送消息。当观众离开或加入房间时,我该如何管理?
显然,这是一个模糊的问题,但我只是在寻找最佳实践建议。链接到有关该主题的文章将不胜感激。
我正在通过游戏中心开展多人游戏,我遇到了一个问题.当我试图邀请我的一个朋友时,我失败了.我尝试过使用模拟器和iphone以及两部iphone并且始终存在同样的问题.
我搜索了我的问题的解决方案,发现有很多开发人员遇到这个问题.我正在使用iOS 6,应用程序仍在生产中,因此它位于沙盒中.
我在Ray Wenderlich教程中使用相同的代码 - CatRace(有太多人写这个问题,但没有人发布解决方案.
有人知道如何解决这个问题吗?
我写了一个非常简单的基于终端的扑克游戏(ascii art ftw),现在它是多人游戏,但你基本上必须通过一台计算机.是否有一种简单的(ish)方式使两个人可以从不同的机器连接并访问同一个游戏同时一起玩?只要我们有终端访问权限,它就不必是花哨的,也不需要是图形化的.
我不确定如何做到这一点,或者它是否实用,但只是想学习和探索一些选择.
我想为服务器的字符以及客户端的字符分配特定的信息。现在,我怎么知道玩家是主机还是客户端?我尝试使用isServer和isClient,但它们都返回 true。这些是我应该使用的正确关键字吗?
void Update () {
if(isServer){
Debug.Log("I'm the server");
}
if(isClient){
Debug.Log("I'm the client");
}
}
Run Code Online (Sandbox Code Playgroud) 我刚刚接触 Unity 中的多人游戏功能,并且想要进行匹配,目前只是 1 对 1 比赛。我有点困惑的是,有些人似乎表示他们同时使用 PlayFab 和 Photon,有些人使用其中之一,等等。
PlayFab 似乎对数千个并发用户开放,除非我误读了他们的文档,而 Photon 的价格约为 100 美元/月,适用于 100 个 CCU。这似乎很奇怪,如果它们相距那么远,那么任何人都会首先使用 Photon。
据我了解,CCU 是指在任何给定时间可以通过网络玩游戏的玩家数量。因此,如果只允许 100 个 CCU,那就意味着 50 场 1v1 比赛,对吗?这对我来说似乎有点低。
如果您不介意分享有关这些技术的任何想法或经验,我们将不胜感激。
谢谢,
G
我使用GameKit框架制作了一个多人游戏,其中2个iPhone/iPod可以通过蓝牙和播放相互连接.
我正在考虑选择哪种设备可以先播放的方法.因此,逻辑解决方案是选择连接的主机.GKSession中是否还有服务器和客户端?他们都是同龄人吗?我应该采取哪条路线来实现我的需要?
我正在编写简单的游戏,我计划将多人游戏(通过网络)作为我的大学项目.我正在考虑两种客户端 - 服务器通信方案:
物理(他们是微不足道的!我应该称之为"碰撞测试"实际上:))仅在服务器机器上处理.因此沟通看起来像
Client1->Server: Pressed "UP"
Server->Clients: here you go, Client1 position is now [X,Y]
Client2->Server: Pressed "fire"
Server->Clients: Client1 hit Client2, make Client2 disappear!
Run Code Online (Sandbox Code Playgroud)
服务器接收事件并将其广播给所有其他客户端.
Client1->Server: Pressed "UP"
Server->Clients: Client1 pressed "UP", recalculate his position!!
[Client1 receives this one as well!]
Run Code Online (Sandbox Code Playgroud)
哪一个更好?或者也许没有?:)
我正在寻找自己的多人游戏服务器(很可能是在nodejs中),我想知道我应该使用什么协议来传输数据?数据报是否是发送信息的标准(我意识到他们不会像HTTP一样确认交付,可以在协议之上编写)?任何经过验证的高效系统的建议都将是一个真正的帮助.
我想我正在寻找快速有效地处理数据传输的成功技术(维护服务器上的状态和扩展是一个单独的问题,我对此有充分的了解).
我期待最初支持桌面/手机游戏(MacOS,iOS和Android).
我想用spriteKit创建一个多人游戏或者使用swift进行sceneKit这可能吗?如果不是,它会在什么时候,如果可以,你能给我一个很好的教程吗?提前致谢!
multiplayer ×10
iphone ×2
node.js ×2
bluetooth ×1
broadcast ×1
c ×1
connection ×1
game-center ×1
ios ×1
networking ×1
objective-c ×1
photon ×1
playfab ×1
python ×1
scenekit ×1
socket.io ×1
sprite-kit ×1
swift ×1
terminal ×1
udp ×1
websocket ×1