问题标签 [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.

0 投票
2 回答
7453 浏览

c# - 处理 XNA + lidgren 中的延迟

我正在 XNA 中尝试使用lidgren,但我遇到了一些“滞后”问题。

我已经下载了他们的XNA 样本,并注意到他们的样本甚至滞后。问题是,另一边的运动并不顺畅,我正在局域网(实际上是在同一台计算机上)而不是通过互联网尝试这个。

由于与 lidgren 和 XNA 的连接滞后,是否有任何关于运动不顺畅的问题?

0 投票
2 回答
2474 浏览

c# - 给定两个 IP 地址,lidgren-network 库可以直接点对点连接吗

我正在使用 lidgen-network 库 3 来尝试创建对等连接。我是网络编程的新手,这就是我使用这个库的原因。

使用 DiscoverKnownPeer() 函数,我已经能够在我的网络中进行连接。我在网上读到的是我需要做一个 NAT 穿透,这需要一个运行在路由器之外的服务器。我希望有一个不需要这个额外服务器的解决方案。

如果我可以将两个 ip 地址存储在 Web 服务器上,并创建一个 Web 服务以通过 XML 将 ip 发送到每个相应的客户端,我是否能够创建对等连接?

先感谢您。

0 投票
1 回答
2411 浏览

c# - 使用带有单声道的 lidgren 进行 C# 网络编程

我目前正在使用 c# XNA 和 lidgren 编写一个小型在线游戏,我想使用 mono + lidgren 编写能够在 linux 上运行的服务器程序(更便宜的托管解决方案)。可以一起使用lidgren和mono吗?我应该使用不同的库还是使用 .NET 函数编写自己的套接字解​​决方案?

感谢您的回答

0 投票
1 回答
288 浏览

c# - 使用来自 Windows 服务的 lidgren / 等效于 Application_Idle

我希望在一个简单的聊天服务器中使用lidgren。现在我查看了lidgren源中的样本并注意到以下内容,

  • 对于 winforms 应用程序,他们使用 Application_Idle 处理程序与 NativeMethods.AppStill Idle 道具相结合来管理 lidgren 消息泵的运行

  • 对于控制台应用程序,类似的事情是通过 Console.IsKeyAvailable 完成的

我的问题是,Windows 服务应用程序中建议的等效项是什么?

0 投票
1 回答
1965 浏览

c# - 为什么我的简单 lidgren 客户端使用这么多内存?

我有一个使用lidgren 的简单客户端和服务器。客户端不断向服务器发送请求(消息由一个值为 1 的字节组成),客户端以“数据”(2000 个 ushorts)响应。它每秒大约执行 20 次。我将传入的数据存储在一个列表中,每次收到数据时我都会清除它。问题是,我正在任务管理器中查看 client.exe 的内存使用情况,它只是不断上升。它在十分钟内上升到大约 100mb。我偶尔可以诱使垃圾收集器运行,但它似乎只减少了一点内存使用量。

这是我的服务器的代码:

这是我的客户的代码:

我尝试过使用 .NET Memory Profiler,尽我所能确定 libgren 在某处保留了我的传入数据,尽管我并不真正了解内部结构。我最好的猜测是太多的数据被发送得太快并且正在客户端的某个地方排队。这会发生吗?服务器内存使用稳定。

0 投票
1 回答
5861 浏览

xna - 我应该如何在 XNA 中设置lidgren?

我尝试对lidgren 进行一些研究,但事实证明很难找到有关如何使用lidgren 3 来全面管理游戏的深入教程。我有几个关于lidgren 集成的问题。

  1. 我已经完成了一半的游戏。实施lidgren 是否需要任何额外的步骤,例如此时的准备工作?尽早或稍后实施多人游戏以供将来参考是更好的主意吗?

  2. 我需要在对等方之间传递什么信息。游戏是一个1v1塔防与奴才。我是否需要在客户端之间传递每个仆从的信息,或者我是否可以仅依靠其他对等方的代码来解决它。每颗子弹怎么样?

  3. 如果我有大量的奴才,每个奴才都需要自己的频道吗?我应该如何处理?

如您所知,我还是游戏开发的新手。任何帮助都将不胜感激。

0 投票
1 回答
558 浏览

c# - 网络流量

我正在用 C# 设计一个游戏,我相信你明白了很多 - 但我的问题有点不同,因为我想根据我的理解围绕观察者模式设计一些东西 - 我找不到太多信息.

我所有的数据包都实现了一个名为 IPacket 的基本接口……我希望在收到某种类型的数据包时触发一个事件;无需使用大型开关。

我可能希望得到类似的东西:

networkEvents.PacketRecieved += [...]

谁能指出我这样做的方向?

0 投票
1 回答
4820 浏览

c# - Best image compression for C#

I'm currently working on some software which captures your monitor image and sends it over to clients over the internet. So far I have it working in my local area network but when I go to test it over the internet, hardly any of the images get through to the client.

I am using Lidgren for my networking. At the moment, I get a Bitmap from the screen, convert it to a JPEG with 30 quality, G-zip it and send it on its way. Each image is about 80KB in size, and I try to send 10 images a second to the client. Now that's like a 7mbit upload connection required, mines is only 2mbit.

So basically, is anyone aware of any compression libraries or techniques which will dramatically decrease the file size of each image. This might be completely impossible but I thought that I would give it a go.

Any help is much appreciated, Thanks!

0 投票
2 回答
1763 浏览

c# - C# Lidgren 库 - 地址已在使用中?

我正在为我的 XNA 游戏试验 Lidgren 库。我创建了一个简单的服务器和客户端:服务器:

客户:

端口是一个整数,值为1000,启动服务器后client.connect方法出现错误。错误是:无法绑定到端口 0.0.0.0:1000 - 地址已在使用中!我听说了有关选项重用地址的一些信息?不知道如何解决它。

谢谢!!

0 投票
1 回答
201 浏览

3d - XNA & Lidgren 3d 网络游戏不吸引其他模型/玩家

我正在使用 xna 游戏引擎和 Lidgren 库进行网络连接。我已经测试并制作了一个 2d 游戏,其中客户端连接到服务器并且客户端可以看到其他玩家。但是我已经开始尝试创建一个 3D 游戏,并且客户端连接到服务器并传递 X、Y 和 Z 坐标。所以我有每个模型的位置,但我似乎无法让客户绘制其他玩家/模型。我错过了什么?我假设这是我的绘制逻辑,但我只是难住了。知道发生了什么吗?