对于刚刚返回时为30,或10查询这样的数量不多,但将不得不处理高达5级左右的请求在任何情况下,将TCP或UDP是一个更好的协议的服务?我倾向于UDP,但我想要一些专家意见。我也在寻找相对较快的回复时间。你能告诉我每种服务的优点是什么吗?谢谢。TCP或UDP简单服务
回答
TCP是一种可靠的基于连接的协议。因此,您可以保证数据的发送/接收 - 如果数据包未经验证可以在另一端收到,数据包会自动重新发送。但是,建立连接的三次握手开销。
TCP用于像HTTP协议其中存在的信息(HTTP请求和应答)一次性交换。
UDP是一种不可靠的无连接协议。因此,您可以简单地发送/接收数据包,但您没有(自动,OS堆栈提供的)方式来验证另一端是否收到了您的消息。如果你在意,你必须自己实施某种确认。
UDP通常用于更连续的,“流”类型的协议。例如,许多在线多人游戏使用UDP来与主机交换游戏信息。他们持续不断地定期做这件事。所以如果一个数据包丢失了,这不是什么大不了的事,因为另一个更新就在即。如果你不得不等待这个(现在过时的)更新被重新传输,那么对于游戏玩法来说会更糟糕。
DNS还通过UDP实现。
最终选择是你的。在大多数情况下,我可能会默认为TCP,并且只能在我描述的场景中使用UDP。
好听起来不错。这听起来像TCP是要走的路,但服务器可以通过同一端口维护多个连接吗?因为它可能一次处理超过1个请求 – Iowa15 2013-03-09 23:11:36
我会让你自己回答一个。提示:你有没有像其他人一样访问过一个网站? – 2013-03-09 23:16:41
+1:TCP几乎总是**正确的答案。除了少数例外,UDP很少是你真正想要的。 – 2013-03-10 01:09:00
- 1. android客户端服务器UDP或TCP?
- 2. 德尔福服务听TCP或UDP
- 3. 简单TCP服务器
- 4. C#简单的TCP服务器线程
- 5. 简单的C#HTTP/TCP服务器
- 6. C#:简单的TCP服务器问题
- 7. 使用TCP或UDP
- 8. 一个简单的多人游戏的UDP或HTTP over TCP/IP
- 9. UDP服务器,TCP客户端?
- 10. Twisted - UDP和TCP服务器在一起
- 11. TCP/UDP客户端/服务器程序
- 12. 服务器推送或客户端请求? TCP还是UDP?
- 13. 用于移动消息服务的TCP或UDP?
- 14. 用于客户机/服务器网吧软件的TCP或UDP?
- 15. 简单的OS X TCP转发服务器/服务
- 16. 简单设计或想法或实现UDP聊天服务器和客户端
- 17. 如何在单个服务器中结合使用TCP和UDP?
- 18. 短距离TCP或UDP
- 19. 指导简单的单播android udp服务器用c#udp客户端
- 20. 简单UDP服务器无法接收数据包
- 21. Argparse错误试图做简单的UDP服务器客户端
- 22. 如何区分客户端是否使用TCP或UDP从服务器端
- 23. TCP/UDP和NAT
- 24. Java简单的TCP客户端/服务器测试冻结
- 25. 良好的架构适度简单的TCP服务器
- 26. 在NodeJS的TCP服务器上实现简单身份验证
- 27. 的Node.js简单的TCP聊天服务器
- 28. 具有多个客户端的简单TCP服务器C/unix
- 29. Lua TCP/IP简单客户端服务器连接
- 30. 简单的Java线程化的TCP服务器线程
匹克TCP除非你真的知道你需要UDP。处理起来更容易。 – Joe 2013-03-09 23:06:58