在整周研究TCP/UDP差异后,我无法决定使用哪个.我必须发送大量恒定的传感器数据,同时发送不会丢失的重要数据.这对我来说是一个完美的分裂,然后我读了一篇论文(http://www.isoc.org/INET97/proceedings/F3/F3_1.HTM),说明使用这两者会导致另一方的数据包/性能损失.如果我允许用户选择使用哪种协议(如果我在服务器端编程)而不是选择自己,是否会出现任何问题?这有什么不利之处吗?
我提出的唯一其他解决方案是使用UDP,如果似乎有太大的数据包丢失,请切换到TCP(客户端).
我会说使用TCP,除非你不能(因为你有数千个传感器,或者传感器的能量预算非常低,或者其他什么).如果您需要可靠性,则必须在UDP之上滚动自己的可靠性层.
尝试使用TCP,并衡量您的表现.如果没关系,并且您没有预料到严重的扩展问题,那么请继续使用TCP.