请问游戏服务器,端口映射应用TCP协议还是UDP协议?端口号是否有影响?例如我的世界的服务器。.
从原理上,TCP的优势有: 简单直接的长连接可靠的信息传输数据包的大小没有限制任何一个和TCP打过交道的人都知道,要实现一个稳定的TCP网络连接,需要处理各种隐藏的坑,比如断线检测、慢速客户端响应阻塞数据包,对开放连接的各种dos攻击,阻塞和非阻塞IO模型等等。除了上面列出的这些问题外,一个好的TCP模块确实不好编码实现。但是,TCP最糟糕的特性是它对阻塞的控制。一般来说,TCP假定丢包是由于网络带宽不够造成的,所以发生这种情况的时候,TCP就会减少发包速度。在3G或WiFi下,一个数据包丢失了,你希望的是立马重发这个数据包,然而TCP的阻塞机制却完全是采用相反的方式来处理!而且没有任何办法能够绕过这个机制,因为这是TCP协议构建的基础。这就是为什么在3G或者WiFi环境下,ping值能够上升到1000多毫秒的原因。为什么不用UDPUDP相对TCP来说既简单又困难。举个例子来说,UDP是基于数据包构建,这意味着在某些方面需要你完全颠覆在TCP下的观念。UDP只使用一个socket进行通信,不像TCP需要为每一个客户端建立一个socket连接。这些都是UDP非常不错的地方。但是,大多数情况下你需要的仅仅是一些连接的概念罢了,一些基本的包序功能,以及所谓的连接可靠性。可惜的是,这些功能UDP都没有办法简单的提供给你,而你使用TCP却都可以免费得到。这也是人们为什么经常推荐TCP的原因。在用TCP的时候你可以不考虑这些问题,直到你需要同步连接的数量级达到500以上的时候。 所以,是的,UDP没有提供所有的解决方法,但是就像你看到的那样,这也正是UDP好用的地方。在某种意义上来说,TCP对UDP就好比是Hibernate和手写SQL的区别。
tcp协议,当然也可以选择all,没有影响。

做为端口映射,什么要添加两个协议(TCP和UDP)?
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。 UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。 用TCP还是UDP,那要看你的程序注重哪一个方面?可靠还是快速?

做端口映射为什么还要区分tcp和udp呢?为什么不能两者都支持呢?出于什么考虑这样设计的?
TCP是安全通信协议,UDP是不安全的。 一般互联网通信都是用TCP。二个的方式不同,不能混在一起。 现在有不少端口映射的工具都是可以用用的,如金万维或nat123

端口转发时UDP与TCP的区别?
Udp接收到应用协议的某个消息(已编码为二进制)后,不会分包,但是要记录当前数据包的大小(消息大小加上8个字节头部),然后交给IP层。而TCP接收到应用层协议的消息(已编码为二进制)后,然后参考该计算机连接的网络数据链路层MTU(最大传输单元)确定是否要分包,然后交给IP层。UDP是非面向连接的,即发送数据之前不需要建立连接,而TCP则是面向连接的,也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。也就是说UDP管发不管到,而TCP管发管到。因此,在安全性方面来说,TCP更具有优越性。Udp适用场合:如果需要做实时性很高且消息小(比如小于以太网的MTU1500Byte)的通信程序,UDP就很适合。关键消息重复发,不用等确认都可以,当然最终还是需要确认。如果是内网环境,网络非常稳定,UDP几乎不会出问题,如果极度要求性能,可以考虑。如果你公网网络资源有限,而用户之间需要传递大量数据,可以考虑用UDP做NAT穿透

端口映射什么时候该用TCP什么时候该用UDP协议
TCP是早期微软制定的国际标准联网协议。UDP的开发是为了弥补TCP的缺陷和扩大端口。WEB服务时基于TCP而开发的,严谨而标准。DNS两样都要是为了满足越来越大的互联网使用量。

本文由 在线网速测试 整理编辑,转载请注明出处。