Localhost在Windows上表现更好吗?

Mic*_*lli 1 .net c# sockets networking

我有一个.NET 3.5服务器应用程序,通常有大约8个客户端.我正在使用System.Net.Sockets所有的网络.

我被告知如果客户端在同一个盒子上运行,它应该使用localhost:<port>127.0.0.1:<port>代替机器的ip或名称以获得更好的性能.有几个人在工作时说这会跳过tcp堆栈的某些层.

但是我在测试中根本无法看到任何性能差异(使用System.Diagnostics.Stopwatch计算从服务器到客户端获取ping数据包需要多长时间).

理论上真的应该有更好的表现吗?

Svi*_*ack 5

,两种情况下的表现都相同.如果您使用的是本地设备IP地址,那么您的操作系统内核不会将您的数据包数据传输到您的网络设备,并且这些数据不会在任何地方发送,那么您就没有任何ISO层计算(封装,解封装等) ).

我相信操作系统会看到这是一个本地设备,你就像对待它一样127.0.0.1.所以实际上两者都会产生同样的效果.