Auf Windows Live Server Verbinden
-
Hallo Leute,
ich wollt auf den Messenger Server von Windows zugreifen, doch es geht nicht. Ist die aktuelle Server messenger.hotmail.com:1836 ?
addr.sin_family=AF_INET; addr.sin_port=htons(1836); addr.sin_addr.s_addr=inet_addr("messenger.hotmail.com");Hab ich was falsch?
-
> Hab ich was falsch?
Ja.
inet_addrkonvertiert lediglich eine dezimale IPv4-Adresse aus einen C-String in einen long-Wert. Da du nur den DNS-Namen vom Server kennst, musst du für diesen Namen erst mal die IP herausbekommen. Die FunktionGetAddrInfowird dir da weiterhelfen!
-
Kann ich doch auch in der normalen cmd per ping adresse.de, hab ich auch versucht klappte auch nicht..
Und war das wenn dann nicht gethostbyname() ?
-
> Kann ich doch auch in der normalen cmd per ping adresse.de, hab ich auch versucht klappte auch nicht..
Dann solltest du dich erst darüber schlau machen (Server-IP/DNS und Port).
> Und war das wenn dann nicht gethostbyname() ?
Ich würde die Berkley-Syntax nicht empfehlen. Außerdem ist diese Funktion veraltet. Hat man GetAddrInfo erst durchschaut, ist diese Funktion wirklich sehr bequem. (Löst z.B. DNS automatisch auf und kovertiert C-String IPv4-Adressen und Ports)
-
Hi
@ Delta-
Kann ich doch auch in der normalen cmd per ping adresse.de, hab ich auch versucht klappte auch nicht..
Wen es nicht geht, sollte es bei dir so aussehen in der Console.
C:\>ping messenger.hotmail.com
Ping messenger.hotmail.msnmessenger.msn.com.akadns.net [64.4.9.254] mit 32 Bytes Daten:
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.Das ist der Fall wen der Host die Icmp Ping's blockiert. (Type 0 / Code

Aber wegen dem siehst du die Adresse dennoch. In diesem Fall [64.4.9.254].
Wen das auch nicht der Fall ist kann dein Host den Domainname nicht auflösen. Das heisst das etwas mit (deinem) DNS Server nicht in Ordnung ist. Oder das etwas mit den Dns ports nicht stimmt. Vieleicht blockiert von Firewall. Aber dan könntest du auch nicht browsen im Net. Von demher glaube ich, dass das bei dir nicht so ist.Wie Ad aCTa geschrieben hat, konvertiert inet_addr() konvertiert eine dezimale IPv4-Adresse aus einen C-String in einen long-Wert. Und sonnst nicht. Das heisst das du entweder Die IP brauchst, oder den Hostnamen mit einer von dir bevorzugten Funktion auflöst !
lowbyte