编程语言
首页 > 编程语言> > C#-如果服务器未准备就绪或不可用,如何停止尝试通过命名管道客户端连接到服务器

C#-如果服务器未准备就绪或不可用,如何停止尝试通过命名管道客户端连接到服务器

作者:互联网

我现在正在使用命名管道技术来实现我的学术项目软件,以通过网络连接异构系统.我使用.net framework 4和C#语言.问题是,如果服务器未就绪或不可用,则客户端程序将无法继续.客户端命名管道不断尝试连接到服务器命名管道,直到可用连接为止.

如果服务器连接在3秒钟内(可能是任何持续时间)不可用,我希望客户端程序能够继续其他功能.像这种情况:启动客户端程序时,它将尝试连接到服务器.如果服务器不可用,客户端将停止尝试连接服务器并自行脱机运行.

我的问题的一些代码片段…

pipeClient.Connect(); <-- this is the problem point,
frmUserprofile.show(); <-- until the connection is available, the program will not execute this line

我想得到的解决方案…

pipeClient.Connect()
if (3 seconds is over && server connection is unavailable) <-- this is what I need    
{  pipeClient stops try to connect;  }

frmUserprofile.show(); 

有人可以帮我给我一些实际的解决方案吗…
顺便说一句,我希望您是否可以使用C#语言解决此问题,请使用C#给出答案,但不一定
提前致谢…

解决方法:

如果使用NamedPipeClientStream类,则有Connect(int)个方法重载,它接受超时值:

bool isConnected = false;
try
{
    pipeClient.Connect(3000);
    isConnected = true;
}
catch(TimeoutException)
{
    // failed to connect
}

标签:named-pipes,c
来源: https://codeday.me/bug/20191101/1980437.html