使用类NamedPipeServerStream
时困扰我的是,对于每个传入的连接,我需要创建一个新对象并调用它的方法WaitForConnection
。
我想要做的是创建一个NamedPipeServerStream
对象,然后在while循环中反复调用上述方法,如下所示:
NamedPipeServerStream s2;
using (s2 = new NamedPipeServerStream("pipe_name", PipeDirection.InOut)) {
while(true) {
ss2.WaitForConnection();
//do something here
}
}
但是当我这样做时,我得到消息
流已断开连接。
有什么建议吗?
参考方案
如果要使用NamedPipeServerStream,则需要使用它提供的编程模型,这就像是因为它将基础Windows句柄包装到命名管道内核对象中。您不能像尝试使用它那样使用它,因为这不是命名管道句柄的工作方式。
如果您真的想一次在单个线程上处理连接,请将循环从里到外:
while (true)
{
using (NamedPipeServerStream ss2 = new NamedPipeServerStream("pipe_name", PipeDirection.InOut)
{
ss2.WaitForConnection();
// Stuff here
}
}
您更可能需要多线程管道服务器来并行处理连接。如果是这样,则有多种方法-搜索其他SO问题将出现几种模式,例如here或here。
当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…
Mongo汇总 - javascript我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …
如何在Wiremock中为JUNIT匹配精确的json - java我正在使用Wiremock在Spring启动应用程序中模拟Junit的REST服务。我的问题是,我无法匹配多个匹配模式。 Junit.javaStringValuePattern pattern = WireMock.matching(".*"); givenThat(post(urlEqualTo("/softwares…
如何在JQuery中操作JSONArray - javascript我有一个php函数,它以JSON返回此代码{"0":{"title":"Dans l\u2019appartement"},"1":{"title":"A l\u2019a\u00e9roport - D\u00e9part de B\u00e9at…
LeetCode题解计算机为什么是基于二进制的?可以是三进制么?二进制有什么好处?题解:为什么叫电子计算机?算盘应该没有二进制