我正在寻找从代理并行发送数据包的方法。那可能吗 ?拆分数据流抛出多个代理作为parralel流并在目标站点上合并该数据包?与来自服务器的geting数据包相同。
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)
虽然我希望以相同的方式接收数据获取请求,但是不仅将一个接收分配给代理。
这可能吗?感谢
答案 0 :(得分: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();
}
您可以以某种方式保存数据然后将所有内容放在一起。我的第一个想法是获取Stream的前两个字节(或者如果你需要更高的数字),并让第一个字节例如是 merged packed,第二个字节是包的索引。然后,您必须找到最佳方式来获取数据。
byte numberOfSplitPackage = Convert.ToByte(stream.ReadByte());
byte IndexOfPackage = Convert.ToByte(stream.ReadByte());
保存在这样的事情列表中:
public struct Package {
public byte numberOfSplitPackage;
public byte IndexOfPackage;
public byte[] body;
}