Проблема с обработкой проблем с подключением к серверу в моем клиенте OPC UA.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблема с обработкой проблем с подключением к серверу в моем клиенте OPC UA.

Сообщение Anonymous »

У меня есть клиент OPC UA, который использует подписки для получения значений тегов с сервера моделирования на моем компьютере. Если я закрою свой сервер и открою его снова, я хочу, чтобы мой клиент OPC UA продолжил подписки, но вместо этого он обнаруживает SocketException и зависает. Я добавил прослушиватель подписок в свой диспетчер подписок.
Это код
private final OpcUaClient client;

public MySubscriptionListener(OpcUaClient client) {
this.client = client;
}

public void onPublishFailure(UaSubscription subscription) {
// This is triggered when a publish cycle fails
logger.warn("Subscription publish failure: {}", subscription.getSubscriptionId());
}

public void onSubscriptionTransferFailed(UaSubscription subscription) {
// This is triggered when a subscription transfer fails (i.e., after a reconnect)
logger.error("Failed to transfer subscription {} after reconnection", subscription.getSubscriptionId());
client.connect();
// Resubscribe the nodes that failed to transfer
try {
createSubscription(client, subscription.getSubscriptionId().intValue());
} catch (Exception e) {
logger.error("Failed to recreate subscription after transfer failure", e);
}
}

И это исключение, которое я получаю
15:36:45.971 [milo-netty-event-loop-1] ERROR o.e.m.o.s.c.t.u.UascClientMessageHandler - [remote=KCT-L-610/192.168.41.223:53530] Exception caught: Connection reset
java.net.SocketException: Connection reset
at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434)
at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:258)
at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:357)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:722)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
15:36:53.089 [milo-shared-thread-pool-12] WARN o.e.milo.opcua.sdk.client.SessionFsm - [2] Keep Alive failureCount=2 exceeds failuresAllowed=1```


Подробнее здесь: https://stackoverflow.com/questions/793 ... -ua-client
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»