0
例如我使用SMS中心的throgh smpp协议进行通信,SMSC通过tcp协议发送给我FIN flag而不是发送unbind throgh SMPP。这是对的吗?直接关闭TCP连接是否正确 - 没有关闭更多的高级层?
例如我使用SMS中心的throgh smpp协议进行通信,SMSC通过tcp协议发送给我FIN flag而不是发送unbind throgh SMPP。这是对的吗?直接关闭TCP连接是否正确 - 没有关闭更多的高级层?
解除绑定操作是可选的,此外,它通常由ESME发送到MC,而不是反之亦然。
即使MC通常会发送连接关闭之前解除绑定,可能存在的情况下它不能做到这一点(例如在检测到一些协议错误,从而不能可靠地发送断开操作)。在这些情况下,MC将关闭连接,因此在您的客户中,您也应该处理“裸关闭”的情况。
谢谢!问题是,当SMSC发送FIN标志时,我不能在我的Java应用程序中使用undestand。 – Divers 2012-03-26 08:16:21
如果您的连接空闲,您应定期发送enquire_link数据包。如果MC关闭了连接,则会在您的java代码中出现IOException。 – mitchnull 2012-03-26 08:21:44
它的逻辑,但请,看到这个 - http://stackoverflow.com/questions/9839058/orrect-closing-tcp-connection-throw-java。可能你可以帮忙吗? – Divers 2012-03-26 08:25:00