我正在使用NetMQ套接字来执行客户端 - 服务器通信。我有一台监听端口5555和一台客户端的服务器,即.bind()
-s。如何确定客户端套接字的连接状态?
这里是我的代码示例:
using (NetMQContext ctx = NetMQContext.Create())
{
using (var client = ctx.CreateRequestSocket())
{
client.Connect("tcp://127.0.0.1:5555");
client.SendFrame(jData);
}
}
我想这样做是为了传达给用户,如果客户端没有找到任何服务器侦听到该端口。
实际发生的事情是,如果没有服务器正在侦听该端口,则不会引发异常,并调用.sendFrame()
并导致应用程序崩溃。
是否有任何方法,如异常或状态码,可以告诉我,如果连接成功或不?
你可以要求连接的属性,这将强制连接创建或失败。例如,你可以要求从本地客户端的TCP/IP连接ID,这可能会强制连接打开 –
我试图找到一些属性或方式来沟通,如果连接不可能。根据我的理解,zeromq/netmq框架没有通知。无论客户端还是服务器先连接,图书馆都会尝试尽可能地连接 – Snake