java udp和tcp_java – 我的服务器是否同时使用TCP和UDP?

让我们得到一些事实:

> UDP不可靠.永远.

在某些情况下,UDP可能特别有损;例如如果存在网络拥塞,速率限制或流量分析,或者如果UDP消息大小大于MTU.

> UDP广播仅适用于您的本地网段.互联网路由器通常不允许广播进一步传播.这真的限制了它的有用性.

> UDP组播可能是一种可能性,除了它也被阻止.

所以这可能让你有两个主要的可能性:

>从您的服务器到每个客户端的UDP点对点消息传递.

> TCP从服务器到每个客户端.

另一种可能性是使用UDP或TCP的某种对等网格通信,但是这变得非常复杂.不要去那里,除非你真的需要,真的知道你在做什么.

所以你的问题.

Should I use UDP,both or am I just thinking completely wrong about this?

我建议在服务器和每个客户端之间使用TCP,因为它是最简单的.为了进一步简化,每个客户端使用多个TCP连接,以避免复用多个“对话”单个套接字.

网络性能不是最佳的,但是它的应用可能会很好.而且我怀疑这是您想要花费所有开发人员时间的应用程序的一部分.

当您达到工作应用程序(客户端和服务器端)的位置,并且有人使用它时,您可能会发现(或不是)网络是主要的瓶颈和用户不满意的原因.然后,您将看到优化应用程序版本2.0中的通信.

当您实现版本2.0(或3.0 …)来解决可扩展性时,您将需要从依赖于单个服务器的方式移动.简单地说,如果你有N个客户端,N不断增加,那么在某个时候单个服务器将无法应付.应用程序设计中的其他东西也可能是有问题的.例如,在游戏应用程序中,您不能向所有其他玩家发送关于每个玩家的持续更新…玩家人数不断增长.但请注意,这些问题在很大程度上与您使用的网络协议无关.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值