sctp一对多发送失败

时间:2017-06-07 08:53:20

标签: java restcomm sctp

我在Centos 7和lk-sctp上使用RestComm库在同一主机端口上启动一对多关联(3868)。 Java类是[SctpMultiChannel]
这种方式有效,您可以在关联关闭时使用SctpMultiChannel.send方法向预期的接收方发送消息(Diameter)。通过发送INIT并继续握手来自动建立关联。 您会收到关于已注册NotificationHandler的关联的通知
我的代码处理连接失败,并尝试在每次关联失败时重新建立关联设置。

在某些时候,我的应用程序收到中止(超出max_retrans),之后我们尝试重新连接,并再次发送初始消息(关联关闭)。这条初始消息不会离开应用程序[没有例外,没有错误,没有关于wireshark的痕迹]

在某些情况下,我的应用会在NotificationHandler上收到SendFailedNotification,并且关联会保留在此断开连接的停留位置,并且我的应用会一直尝试重新连接。

我怀疑lk-sctp收到中止时有问题。有没有可能对我有帮助的配置?

注意:多通道配置为非阻塞。

flow is here

//send the initial message
msgInfo = MessageInfo.createOutgoing(dest, 0);
msgInfo.payloadProtocolID(0);
msgInfo.complete(true);
msgInfo.unordered(true);
ByteBuffer arg0 = firstMsg.getMsg();
int sentBytes = this.socketChannelSctp.send(arg0, msgInfo);

//checks for notifications
MessageInfo messageInfo = this.socketChannelSctp.receive(rxBuffer, this, this.associationHandler);
// always returns null

0 个答案:

没有答案