作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作一个基于网络控制台的应用程序,但是它需要能够同时监听标准输入和来自套接字的输入。在C++中,我将使用posix select()函数执行此操作,但是在C#中,the equivalent select function似乎仅用于套接字。有没有一种方法可以在不使用多个线程的情况下监听C#中的两个输入?
最佳答案
要等待多个输入,您需要为每个输入等待一个WaitHandle,然后调用静态方法WaitHandle.WaitAny。
但是另一种选择是使用异步IO。使用BeginXXXX
开始读取/接收操作。在每种情况下,您都提供一个回调,该回调将在完成时执行。启动它们之后,您将等待一个监视对象,并在回调中向该监视对象发出脉冲以通知完成。这是一种非常有效的多线程编程形式,但是您不必显式启动任何线程。
要获取原始Stream作为标准输入,请使用Console.OpenStandardInput。
关于c# - 如何在C#中的同一线程上监听standard in和套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2209695/
有很多可用的单行 HTTP 服务器,例如 python python -m SimpleHTTPServer 8000 ruby ruby -run -ehttpd . -p8000 等等 是否有任何
我是一名优秀的程序员,十分优秀!