Das Projekt, an dem ich gerade arbeite, verwendet P2P, um Daten im Gegensatz zu Bittorrent zwischen Peers zu übertragen. Diese Komponente führt auf jeder Schnittstelle einen zufälligen Scan durch, um zu sehen, welche Geräte sich im Netzwerk befinden. Bisher wurde es als Socket-Verbindung implementiert, die überprüft, ob es gelungen ist, eine Verbindung herzustellen, indem sie versucht, sich mit dem Abhörport des Programms zu verbinden. Ich frage mich, ob es schneller wäre, das heraus zu rippen und eine Übertragung auf jeder Schnittstelle zu machen. Wäre das schneller/zuverlässiger?Wird schneller als ein zufälliger SYN/ACK-Scan für einen bestimmten Port gesendet?
Der aktuelle Code für die Verbindung ist wie folgt:
Socket testSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
testSock.BeginConnect(iep, new AsyncCallback(ConnectedAsync), testSock);
for (int i = 0; i <= iterations && Thread.CurrentThread.IsAlive; i++)
{
if (testSock.Connected)
break;
Thread.Sleep(25);
}
testSock.Close(0);
Die 'random' Komponente ein einfaches
istRandom r = new Random();
für jedes Subnetz der Schnittstelle.
Aus meiner Erfahrung mit Broadcasting (Wireshark, DHCP etc) habe ich den Eindruck, dass Sendungen schneller werden und weniger Ressourcen verbrauchen. Der Grund, warum ich frage, ist, dass die Person, die es geschrieben hat, ein kluger Typ ist, und ich frage mich, warum er nicht Rundfunk benutzt.
Also ist es die Mühe wert?
Danke ich werde. Mein Zögern war darauf zurückzuführen, dass die Person, die die Bewerbung schrieb, ein ziemlich guter Programmierer war, aber das schien ein Mangel an Wissen über das Networking zu sein. Ich war mir nicht sicher, ob ich etwas übersehen hatte. Ich muss etwas recherchieren. Vielen Dank :) –