使用套接字在两个服务器之间发送数据是一个好主意,还是我应该使用MQ之类的东西来移动数据。
我的问题:如果只需要一次/保证数据传输,套接字是否可靠?
还有其他解决方案吗?
谢谢。
最佳答案
套接字是用于执行网络通信的应用程序级API。套接字的可靠性取决于创建套接字时选择的网络协议(protocol)。如果您选择TCP/IP,则将获得“可靠”的传输...上限。如果选择UDP/IP,则将获得“不可靠”的传输。
如其他答案所述,TCP确保您不会丢失或破坏数据。
中断,或发送方或接收方
死于TCP/IP连接将中断
除非您不这样做,否则您将丢失数据
采取步骤重新启动
联系。
级别的数据损坏,有一个
不会的可能性很小
由校验和检测。
为了获得比TCP/IP提供的更高级别的可靠性保证,您需要在应用程序基于套接字的网络层的顶部实现更敏感的校验和和保证的传递机制。或使用消息排队产品来帮助您完成工作。
因此,对您的问题的答案是,这取决于您使用Socket的方式以及系统所需的可靠性级别。
关于sockets - socket 可靠吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1157644/