问题标签 [lidgren]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 将枚举转换为字节并发送它们 lidgren
我有这个代码来接收消息:
以及发送它们的代码:
如果消息到达服务器,它只会调用默认值并断开用户连接。
photon - 托管 Box2D MMO:Photon vs Lidgren vs GameSparks vs PlayFab
我正在开发一个用 C# 编写的游戏,它利用自定义 Box2D/Farseer 实现,并且是基于低级 Lidgren 库的多人游戏。它有一些要求: - Box2D 必须与其他自定义游戏逻辑一起在服务器上运行。
- 服务器将是权威的。
- 游戏是实时的,不是回合制的。
我可以重写网络以使用更高级的平台,但我需要帮助了解采取哪条路线。我可以简单地将现有的基于 Lidgren 的服务器作为 Windows 服务托管在 AWS EC2 实例上。这实际上是我目前正在做的事情。但是,我听说使用像 Photon 这样的服务会更高效。PlayFab 和 GameSparks 也可能提供这种联网功能,但似乎它们主要用于帐户管理,而不是传输游戏对象数据。
理想情况下,PlayFab 或 GameSparks 将允许我做所有事情——运行我的自定义 C# 服务器 exe,与他们的帐户 API 集成,并证明我是一个非常高性能的网络库,可以用来代替 Lidgren。我发现很难确定他们是否这样做。它有点参差不齐。
正如我所描述的,哪个是托管 MMO 的最佳平台?
c# - 断开连接后,lidgren 客户端无法连接
我正在使用 Lidgren 将统一游戏连接到游戏服务器。一切正常。唯一的问题是当客户端断开与服务器的连接时(由于失去互联网连接甚至手动),它无法再次连接。我必须关闭并重新打开游戏才能再次连接。我也在统一之外尝试过这个并得到了相同的结果:
连接方法是这样的:
如果我使用此代码:
客户端已连接,但是当客户端与服务器断开连接时,下面的更新方法仅记录每 5 分钟尝试重新连接一次,但实际上什么也不做:
c# - Lidgren 客户加入编辑器但未构建
我正在编写一个多人游戏,其中手机上的多个客户端应该能够连接到基于 PC 的服务器。我的编辑器测试一切正常,编辑器客户端连接正常,我现在已经将客户端项目构建到我的手机上,当我按下加入服务器时没有任何反应。
服务器创建方法:
客户加入方式:
当客户端点击回车按钮时应该调用 JoinServer,两个输入框是我输入 IP 和用户名的地方。我一直在使用我的电脑的IPv4地址,从编辑器可以加入的服务器创建方法中获得,但我的手机没有构建。
我现在已经在安卓模拟器上测试了这个程序,但是同样的事情发生了,对连接服务器按钮没有反应。
c# - Lidgren 第二次创建服务器实例导致 System.Net.Sockets.SocketException
我在 Monogame 中使用 Lidgren。玩家有可能想要主持一场比赛,然后离开大厅,并想再次主持。但是,当我在代码中执行此操作时,会引发以下异常:System.Net.Sockets.SocketException: '通常只允许使用每个套接字地址(协议/网络地址/端口)'
相关代码:
_server.Start()
代码在绑定套接字时崩溃。( m_socket.Bind()
)。
如何清理服务器/套接字,以便再次创建服务器的新实例?
c# - Sending Int32 equal to 4, received as equal to 67108864
What's going on, I do this on the server:
then on the client it succesfuly reads the byte = 2 and the switch then routes to function which reads Int32 (FreshChunks.Count) which was equal 4 but when received it equals 67108864. I've tried with Int16-64 and UInt16-64, none of them work out the correct value.