У меня есть клиент 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
Проблема с обработкой проблем с подключением к серверу в моем клиенте OPC UA. ⇐ JAVA
Программисты JAVA общаются здесь
1735308156
Anonymous
У меня есть клиент OPC UA, который использует подписки для получения значений тегов с сервера моделирования на моем компьютере. Если я закрою свой сервер и открою его снова, я хочу, чтобы мой клиент OPC UA продолжил подписки, но вместо этого он обнаруживает [b]SocketException[/b] и зависает. Я добавил прослушиватель подписок в свой диспетчер подписок.
Это код
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```
Подробнее здесь: [url]https://stackoverflow.com/questions/79311566/issue-in-handling-server-connection-issues-in-my-opc-ua-client[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия