2017-01-13 5 views
0

プロキシからパケットをパラレルに送信する方法を探しています。それは可能ですか?データフローを分割するには複数のプロキシをパラレルフローとして投げ、ターゲットサイトでそのパケットをマージしますか?サーバからパケットを取得するのと同じです。データフローをウェブサーバにパラレルに送信して受信する

Example: sentence: owl does hoot 

proxy1 -> owl -> send to -> site.com 
proxy2 -> does -> send to -> site.com 
proxy3 -> hoot -> send to -> site.com 

on the end merge to -> owl does hoot (act as one host) 

私はデータを同じ方法で取得したいが、1つだけでなくプロキシに受信を分割したい。

これは可能ですか?おかげ

答えて

0

はこれを使用すると、複数のデータストリームを受け入れることができるかです:

static void Main(string[] args) { 
     string IPAddr = "127.0.0.1"; 
     TcpListener listener = new TcpListener(new IPAddress(Encoding.UTF8.GetBytes(IPAddr)), 8080); 
     listener.Start(); 
     while (true) { 
      Task.Factory.StartNew(() => handleTCPResults(listener.AcceptTcpClient())); 
     } 

    } 

    static void handleTCPResults(TcpClient client) { 
     var stream = client.GetStream(); 
    } 

は、あなたが何らかの形でデータを保存でき、その後、あなたは一緒にすべてを入れています。私の最初の考えは、ストリームの最初の2バイト(またはより多くの番号が必要な場合はそれ以上)を取得し、たとえば最初のバイトを のパックド数、2番目のバイトをパッケージのインデックスとします。次に、データを一緒に取得するための最良の方法を見つける必要があります。

public struct Package { 
    public byte numberOfSplitPackage; 
    public byte IndexOfPackage; 
    public byte[] body; 
    } 
:このような気にいら一覧で保存

byte numberOfSplitPackage = Convert.ToByte(stream.ReadByte()); 
byte IndexOfPackage = Convert.ToByte(stream.ReadByte()); 

関連する問題