【发布时间】:2016-09-20 15:36:25
【问题描述】:
我正在使用 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 框架没有通知这一点。无论是客户端还是服务器先连接,库都会尽可能尝试连接