我知道我知道.之前已经多次询问过这个问题.但是我现在花了一个小时用谷歌搜索而没有找到我要找的东西所以我会再次问它并提及我的背景以及让我难以做出的决定:我正在为一个响应时间很长的游戏编写服务器重要和丢包飘飞是没有问题的.
鉴于此以及我作为服务器主要必须将相同数据发送到许多不同客户端的事实,显而易见的答案是UDP.
当我遇到这个时,我已经开始编写代码了:
在某些应用中,TCP比UDP更快(更好的吞吐量).当进行大量相对于MTU大小的小写时,就是这种情况.例如,我读了一个实验,其中通过以太网(1500字节MTU)发送300字节数据包流,TCP比UDP快50%.
在我的情况下,我发送的信息单元是<100字节,这意味着每个信息单元都适合一个UDP数据包(这对我来说非常愉快,因为我不需要处理碎片)并且UDP似乎更容易为了我的目的实现,因为我不需要处理大量的单一连接,但我的首要任务是最小化之间的时间
client sends something to server
Run Code Online (Sandbox Code Playgroud)
和
client receives response from server
Run Code Online (Sandbox Code Playgroud)
所以我愿意选择TCP,如果这是更快的方式.不幸的是,我无法找到有关上述引用案例的更多信息,这就是我要问的原因:在我的案例中哪个协议会更快?
"如何将float转换为只有一个小数的字符串"
这个问题已被多次询问,通常的答案是MyFloat.ToString("0.0")或类似的.但是,我面临的问题是
float f = 1;
string s = f.ToString("0.0");
MessageBox.Show(s);
Run Code Online (Sandbox Code Playgroud)
输出,1,0但我需要的是1.0.我当然可以在之后手动用点替换逗号,但我很确定这不是正确的方法.我无法在互联网上找到解决方案,因为无论1.0
在哪里,它都说已经输出了怎么样?