选择TCP还是UDP?
小弟最近做了个小项目.
在服务器上有多个服务程序.
客户端和这些服务程序交互.
除了主服务程序(负责登录等功能)需要保持和客户端长时间连接外
其他服务程序和客户端都是短连接,也就是需要的时候连接,通信完就关闭.
考虑到并发处理,主服务程序采用UDP连接.
但是其他服务采用什么连接,小弟我实在很难决定.
(预计有10W用户并发,每个客户端每5分钟刷新一遍数据(和各服务程序通信),传输的数据在0.1~10K左右)
数据要保证100%正确
采用TCP,传输不怕错包,但是并发建立TCP连接,对服务器资源占用较高
考虑到是短连接,每秒估计也有好几百个TCP连接.
采用UDP,传输需要自己判断包序,判断包是否错误.
采用双线程,一个线程收请求,一个线程处理,处理线程估计会忙的要命,毕竟还要处理重发和错包.
如果网络质量差,那就要重复发很多次,也很耗时间.
想让包能够正确传输,基本上跟TCP一样,自己要实现握手,和TCP比,只不过不用维护连接.
小弟我就不太清楚,在这种情况下,使用TCP比较合适还是UDP比较合适呢?
各位英雄给点建议哦.
多谢啦!!