使用C#模拟TCP / IP连接

时间:2010-09-14 08:55:11

标签: c# networking tcp

我有点像网络n00b,所以请保持温和并以真实,真实的虚拟方式解释事物(在我看来,每次涉及网络相关的东西,人们开始说一种完全不同的语言) 。我是一个相当有经验的C#程序员,但在机器之间的通信方面缺乏一些技巧。

场景是这样的:我正在使用通过tcp / ip与其他设备通信的产品。是否有可能制作一个像ta tcp / ip连接一样的虚拟程序(在我的机器上本地),所以我可以通过设置其IP地址(和端口)来连接我的其他程序,然后让它返回任何模拟/我想要的测试数据?

4 个答案:

答案 0 :(得分:0)

是:您可以设置与自己计算机上运行的程序的TCP连接。您应使用的主机名为localhost,或IP地址为127.0.0.1:另请参阅Loopback (Virtual Network Interface)

答案 1 :(得分:0)

是的,完全有可能。看一下System.Net.Sockets.TcpClientSystem.Net.Sockets.TcpListener课程 - 它们应该是一个很好的起点。

答案 2 :(得分:0)

老实说,我没有看到“嘲笑”任何东西只是使用正确的TCP / IP连接,因为显然你可以通过TCP / IP在同一IP上的两个不同应用程序之间发送数据。

看看这个例子:

http://www.codeproject.com/KB/IP/tcpclientserver.aspx

答案 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
    }