Delphi-Forum.de Delphi-Library.de
C-Sharp-Forum.de C-Sharp-Library.de
Registrieren Login Suche Hilfe Sitemap
[3.5] P2P Programm zum Datentransfer - Problem
spacer
Autor Nachricht
Red2Devil
Hält's aus hier

Beiträge: 12
Dabei seit: 12.11.2009
Wohnort: Euskirchen

Win 7 Professional
.NET 3.5, Java 6
BeitragVerfasst: Fr 26.02.10 22:43 
.NET Version: 3.5
Antworten mit Zitat Beitrag melden
Hallo,

ich möchte ein Programm schreiben, das Daten im Netzwerk zu einem anderen Rechner senden kann.
Ich weiß, dass es sowelche Programme 100 mal im Internet als Freeware gibt, jedoch bin ich dran C# zu lernen
und bin an dem Punkt Netzwerke angekommen.

Punkt 1:

Ich habe versucht über einen Prozess die arp-Tabelle abzurufen und zu speichern, um alle verfügbaren IPadressen zu bekommen. Zuvor hab ich nun noch eine Ping-schleife gebaut, die alle rechner im subnetz anpingen soll, da sonst die arp-tabelle nicht gefüllt ist und er keine Rechner anzeigt! Ich weiß leider nicht, ob es der richtige Weg ist bzw ob es es eine einfachere Methode gibt:

Ping-schleife und Arp-Tabelle:

ausblenden C#-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
for (int i = 0; i < 200; i++)
{
Ping pingSender = new Ping();
PingOptions options = new PingOptions();
options.DontFragment = true;
String ip;
ip = "192.168.1." + i.ToString();
string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
byte[] buffer = Encoding.ASCII.GetBytes(data);
int timeout = 60;
pingSender.SendAsync(ip, timeout, buffer, options);
//pingSender.Dispose();
}


Die IP-Adressse (hier 192.168.1.xxx) soll später noch variabel von der eigenen IP aus gesteuert werden, sofern die Methode behaupt sinnvoll ist!

ausblenden C#-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
Process proc = new Process();

proc.StartInfo.FileName = Environment.SystemDirectory + @"\arp.exe";
proc.StartInfo.Arguments = "-a";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardInput = true;

proc.Start();

while (!proc.StandardOutput.EndOfStream)
{
fullLine.Add(proc.StandardOutput.ReadLine());
}

proc.WaitForExit();
proc.Close();


Das ist der Prozess der die cmd mit der Arp-Tabelle aufruft, die später weiterverarbeitet wird!

-----------------------------------------------------------------------------------------------

Punkt 2:

Des weiteren versuch ich eine simple Connection per Socket aufzubauen, indem ich eine IP verscuhe per Socket zu verbinden! z.B. einen WebServer per IP oder Hostnamen. Jedoch bekomme ich immer die Exception zurück!

Socket-Verbindung:

ausblenden C#-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
string iptext = lIP.Text;
string porttext = lPort.Text;
Socket connection = null;
try
{
IPAddress ip = IPAddress.Parse(iptext);
IPEndPoint ipEnd = new IPEndPoint(ip, Convert.ToInt32(porttext));
connection = new Socket(ipEnd.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
connection.Connect(ipEnd);
if (connection.Connected)
{
ConnectionTA.Text = "Connection with " + iptext + " on Port " + porttext + " established!";
connection.Close();
}
}
catch (Exception esc)
{
ConnectionTA.Text = "Fehler:\r\n" + esc.Message;
}



-----------------------------------------------------------------------------------------------

Ich hoffe, dass jemand mir ein paar Tipps und verbesserungen zu den besagten Problemen geben kann.

MFG

Marcel
Private Nachricht sendenPosting in privater Nachricht zitieren
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Moderator

Beiträge: 7322
Erhaltene Danke: 7
Dabei seit: 25.07.2004
Wohnort: Gelsenkirchen

W2k, WXPpro
D6pe, D7pro
BeitragVerfasst: Sa 27.02.10 13:36  Antworten mit Zitat Beitrag melden
Moin!

Bitte erstelle für jede deiner Fragen ein separates Topic, da die Diskussion mehrerer Fragen in einem Topic für gewöhnlich für Verwirrung und Durcheinander sorgt. Daher:
*geschlossen*

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Beiträge vom vorherigen Thema anzeigen:   
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.
home home