簡體   English   中英

使用C#模擬TCP / IP連接

[英]Mocking a TCP/IP connection with C#

我是一個網絡n00b,所以請溫柔並以一種真正的,真正的虛擬方式解釋事物(在我看來,每次涉及網絡相關的東西,人們開始說一種完全不同的語言)。 我是一個相當有經驗的C#程序員,但在機器之間的通信方面缺乏一些技巧。

場景是這樣的:我正在使用通過tcp / ip與其他設備通信的產品。 是否有可能制作一個像ta tcp / ip連接一樣的虛擬程序(在我的機器上本地),所以我可以通過設置其IP地址(和端口)來連接我的其他程序,然后讓它返回任何模擬/我想要的測試數據?

是:您可以設置與自己計算機上運行的程序的TCP連接。 您應使用的主機名是localhost ,或IP地址是127.0.0.1 :另請參閱Loopback(虛擬網絡接口)

是的,完全可能。 看一下System.Net.Sockets.TcpClientSystem.Net.Sockets.TcpListener類 - 它們應該是一個很好的起點。

老實說,我沒有看到“嘲笑”任何東西只是使用正確的TCP / IP連接,因為顯然你可以通過TCP / IP在同一IP上的兩個不同的應用程序之間發送數據。

看看這個例子:

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

我之前做過這個。 我已經創建了一組用於模擬各種技術的工具,您可以從以下位置下載:

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
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM