使用 Windows 服务中的lidgren /相当于Application_Idle

发布于 2024-10-20 23:59:43 字数 293 浏览 2 评论 0原文

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

  • 对于 winforms 应用程序,它们使用 Application_Idle 处理程序与 NativeMethods.AppStill Idle 属性相结合来管理 litgren 消息泵的运行

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

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

I'm looking to use lidgren in a simple chat server. Now I've looked at the samples in the lidgren source and have noticed the following,

  • For winforms apps they use the Application_Idle handler combined with the NativeMethods.AppStill Idle prop to manage running of the lidgren message pump

  • For console apps something similar is done via Console.IsKeyAvailable

My question is then what would be the suggested equivalent within a windows service application?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

坠似风落 2024-10-27 23:59:43

Application.Idle 事件可以方便地在 UI 线程上执行最不可能影响用户界面的代码。您可以轻松地浪费数百毫秒,而用户却不会注意到 UI 出现卡顿。

这不是服务中的问题,它没有用户界面。直接执行代码就可以了。如果这是轮询类型的操作(您没有好的触发器或可以等待的东西),则使用计时器。

The Application.Idle event is handy to execute code on the UI thread that is least likely to affect the user interface. You can easily burn hundreds of milliseconds without the user noticing that the UI is stuttering.

This just isn't an issue in a service, it doesn't have a user interface. Just execute the code directly. If this is a polling type of operation (you don't have a good trigger or something you can wait on) then use a Timer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文