C# 套接字编程

C# 套接字编程,c#,C#,我正在设计一个应用程序,使用套接字通过网络相互连接。现在要测试这些模块,我必须在不同的计算机上运行它们。我想在两台笔记本电脑上测试它们。我可以在单独的笔记本电脑上运行它们吗?只需要一根普通的交叉电缆连接,还是需要一个更传统的带有交换机的网络?实际上,这不需要两台计算机。我们经常使用虚拟机来做这类事情,这比寻找额外的硬件要容易得多 别误会,您可以使用交叉电缆直接连接两个以太网端口(我认为从内存来看,只有传输和接收对需要交换,但已经有一段时间了,所以我不能确定) 但我发现,虚拟机解决方案至少同样简单

我正在设计一个应用程序,使用套接字通过网络相互连接。现在要测试这些模块,我必须在不同的计算机上运行它们。我想在两台笔记本电脑上测试它们。我可以在单独的笔记本电脑上运行它们吗?只需要一根普通的交叉电缆连接,还是需要一个更传统的带有交换机的网络?

实际上,这不需要两台计算机。我们经常使用虚拟机来做这类事情,这比寻找额外的硬件要容易得多

别误会,您可以使用交叉电缆直接连接两个以太网端口(我认为从内存来看,只有传输和接收对需要交换,但已经有一段时间了,所以我不能确定)

但我发现,虚拟机解决方案至少同样简单,而且还为您提供了额外的优势,例如,如果由于某种原因,您的虚拟机受到某种程度的损坏,则会提供退避点,这在开发过程中经常发生

复制一些文件就可以恢复到基线配置,这比从头开始重新安装要容易得多

因此,就(递减)可取性而言,我将对可能性进行如下评价:

  • 开发主机上运行软件的两个虚拟机(内存允许)
  • 直接连接两台笔记本电脑的交叉电缆
  • 枢纽
  • 开关

我之所以喜欢集线器而不是交换机,是因为集线器不那么复杂,而且通常更便宜(有关更多信息,请参阅)。交换机往往具有内部状态以更好地管理冲突,而集线器更像是将所有电缆绑在一起的一种方式。这两种方法都不比交叉电缆便宜,而交叉电缆的成本几乎肯定会高于VMWare Player及其同类产品。

实际上,使用环回地址,您甚至不需要虚拟机,您可以在同一台计算机上运行它们,并使用127.0.0.1或::1 IP地址将一个应用程序连接到另一个应用程序。@buc,这是另一个不错的选择,假设你可以安装两次应用程序。所有这些都是很好的建议,但是如果你是网络编程新手,没有什么能比看到两台独立的机器通信的体验更好的了。我说用交叉电缆!是的,这就是我想要的答案,伙计。塔克斯