Forum: Netzwerke
Delphi
by Chewie,
23. Aug 2003
Das ist klar. Ich will gar nicht wissen, wie viel Seiten ich schon darin über Windows Sockets gelesen hab :wink:
Ich meinte, dass bei der Beschreibung der Funktion socket im Abschnitt Return Values nicht die Möglichkeit erwähnt ist, dass WSAWACCES zurrückgegeben wird.
Forum: Netzwerke
Delphi
by Chewie,
23. Aug 2003
So, hab mich jetzt mal als Gast angemeldet und versucht, einen RawSocket zu erstellen.
Ergebnis: Fehler WSAEACCES.
Witzigerweise steht dieser Fehler gar nicht in der Tabelle der möglichen Fehler bei socket().
Forum: Netzwerke
Delphi
by Chewie,
23. Aug 2003
Da ich der einzige Benutzer bin, hab ich bei der Installation eingestellt, dass er mich automatisch anmelden soll. Trotzdem bin ich in der Admin-Gruppe.
Aber was solls, das ist nicht das Thema hier.
Ich hab auch mal irgendwo was gelesen, dass mit RawSockets und Adminrechten zu tun hatte, aber ich weiß nicht mehr, in welchem Zusammenhang, und schon gar nicht mehr, wo.
Forum: Netzwerke
Delphi
by Chewie,
23. Aug 2003
Echt nicht :shock:
Ich bin einer, und ich glaub nicht, dass ich nach der Installation in der Hinsicht was verändert habe :?
Forum: Netzwerke
Delphi
by Chewie,
23. Aug 2003
Hehe :wink: . Ich mein den Typ von Benutzer, der in der Knallbunt-Benutzerverwaltung von XP als "Benutzer mit Administratorrechten" bezeichnet wird.
Was genau der alles kann, weiß ich nicht.
Bei 2K, das ich gerade draufhabe, ist mein normaler Benutzer Mitglied der Gruppe Administratoren, der kann das auch.
Das weiß ich auch nicht, ich fände es aber recht seltsam, wenn er den Socket...
Forum: Netzwerke
Delphi
by Chewie,
23. Aug 2003
Nein, "Kontext" heißt in diesem Fall, dass eine externe Adresse keinem lokalen Socket zugewiesen werden kann.
Es heißt ja auch bei bind():
Außerdem gibts es bei der socket()-Funktion keine Fehlerrückgabe für fehlende Rechte (ich finde zumindest keine).
Der "normale" Benutzer mit Admin-Rechten unter 2K und XP kann auf jeden Fall RawSockets erstellen.
Forum: Netzwerke
Delphi
by Chewie,
23. Aug 2003
Ach so, aus meinem. Hah mich schon gewundert, dass du teilweise die gleichen Variablennamen benutzt hast :wink:
bind() brauchst du nur für Sockets im Listen-Mode, also für Server. Du kannst einem Socket keine externe Adresse zuweisen.
Was willst du denn überhaupt machen, vielleicht kann ich dir dann mehr helfen.
Forum: Netzwerke
Delphi
by Chewie,
23. Aug 2003
Ganz easy: Mit bind() weißt du einem Socket eine lokale Adresse zu.
Eine lokale eben, keine externe.
BTW: Kann es sein, dass der Code die Übersetzung von C nach Delphi des Programmms, das es hier gibt, ist: http://codeguru.earthweb.com/network/ipmon.html
Falls ja, sag Bescheid, dann schick ich dir mal was, ich hab das ganze auch mal gemacht, aber aus den in diesem Thread genannten Gründen...