我有点像网络n00b,所以请保持温和并以真实,真实的虚拟方式解释事物(在我看来,每次涉及网络相关的东西,人们开始说一种完全不同的语言) 。我是一个相当有经验的C#程序员,但在机器之间的通信方面缺乏一些技巧。
场景是这样的:我正在使用通过tcp / ip与其他设备通信的产品。是否有可能制作一个像ta tcp / ip连接一样的虚拟程序(在我的机器上本地),所以我可以通过设置其IP地址(和端口)来连接我的其他程序,然后让它返回任何模拟/我想要的测试数据?
答案 0 :(得分:0)
是:您可以设置与自己计算机上运行的程序的TCP连接。您应使用的主机名为localhost
,或IP地址为127.0.0.1
:另请参阅Loopback (Virtual Network Interface)。
答案 1 :(得分:0)
是的,完全有可能。看一下System.Net.Sockets.TcpClient和System.Net.Sockets.TcpListener课程 - 它们应该是一个很好的起点。
答案 2 :(得分:0)
老实说,我没有看到“嘲笑”任何东西只是使用正确的TCP / IP连接,因为显然你可以通过TCP / IP在同一IP上的两个不同应用程序之间发送数据。
看看这个例子:
答案 3 :(得分:0)
我以前做过这个。我已经创建了一组用于模拟各种技术的工具,您可以从以下网址下载:
http://www.codeproject.com/KB/biztalk/Excellence.aspx
这允许您设置要发送和接收的数据。您可能需要调整一下,但主要内容已经存在。
我相信你对TcpReceiveMiniServer
感兴趣。
这是一个小样本:
static void Main(string[] args)
{
TcpReceiveMiniServer server = new TcpReceiveMiniServer(8789);
server.Start();
server.DataArrived += new TcpReceiveMiniServer.DataArrivedHandler(server_DataArrived);
Console.Read();
}
static void server_DataArrived(object sender, DataArrivedEventArgs e)
{
// do something with e.Data
}