Я использую сокеты 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()
, и приложение выходит из строя.
Есть ли какой-либо метод, такой как Исключения или код состояния, который может сообщить мне, если соединение выполнено или нет?
Не могли бы вы запросить свойство соединения, которое заставило бы соединение с b создать или потерпеть неудачу. Например, вы можете запросить идентификатор соединения TCP/IP от локального клиента, который может заставить соединение открыть –
. Я попытался найти какое-либо свойство или способ связи, если соединение невозможно. По моему мнению, структура zeromq/netmq не уведомляет об этом. Независимо от того, подключен ли клиент или сервер, библиотека попытается подключиться, когда это возможно. – Snake