Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

27.12.2007, 10:13

Winsocktutorial 2

Hi Leute,
Ich habe mir das Winsocktutorial 2 auf dieser Seite http://www.c-worker.ch/tuts/resolv.php durchgelesen. Dort steht, dass man dem Programm, den Namen des Servers, mit dem es sich in verbindung setzen soll, übergeben soll. Ich weiß allerdings nicht wie.
Ich habe auch schon die Suchmaschine auf dieser Seite verwendet, dort aber nichts gefunden. Außerdem habe ich auch einen Freund gefragt, der hatte den Vorschlag es mit einer Eingabe zu versuchen, dieses hat aber nicht funktioniert.
Vielen Dank schon mal für die Hilfe[/url]

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

2

27.12.2007, 11:25

Du kannst den namen über Exe - Parameter machen ( würd ich aber nicht machen)
Dann aus na INI Datei einlesen...
Oder halt per Eingabe... wenn das nicht funktioniert poste einfach mal den code :)

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

3

27.12.2007, 14:05

"programm.exe 192.168.0.1" oder "programm.exe Mein_PC_Name". Sowas kann man z.b. über die Konsole eingeben oder über eine BAT Datei.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

4

29.12.2007, 10:44

Wenn ich es mit der Eingabe versuche kommt dieser Fehler:
" error C2664: 'gets': Konvertierung des Parameters 1 von 'char **' in 'char *' nicht möglich" ! :cry:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
//...

       SOCKADDR_IN addr;
    char buf[256]; 

    printf("Name eingeben: ");
                gets(argv);

    if(argc<2)
    { 
      printf("Usage: sock \n");
      return 1; 
    }  
//...

P.S. Was ist eine BAT Datei :?:

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

29.12.2007, 11:06

Nimm das Programm so wie es da ist und ersetzte
rc=getAddrFromString(argv[1],&addr);
durch
rc=getAddrFromString("ADRESSE",&addr);

wobei ADRESSE dann die IP oder der PCName ist oder du übernimmst das Programm so wie es ist und machst es so, wie ich es angesprochen habe. Was eine BAT-Datei ist, sollte man glaube ich auch noch selbst rausfinden können ;)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

6

31.12.2007, 09:27

Wenn ich jetzt die IP eingebe, wird diese aufgelöst, :) aber das Programm gibt dann eine Fehlermeldung aus :"Fehler: connect gescheitert, fehler code: 10060"! Und mein Serverprogramm habe ich "Winsockserver" genant, wenn ich dieses dann aus der Entwicklungsumgebung starte und dann das andere Programm starte und dort dann "Winsockserver" eingebe erscheint die Meldung, dass die IP für Winsockserver nicht aufgelöst werden konnte! :cry:

NicoWe

Treue Seele

Beiträge: 126

Wohnort: Bielefeld / NRW

  • Private Nachricht senden

7

31.12.2007, 13:02

Fehler code 10060 bedeutet, dass die angepingte Adresse in einem bestimmten Zeitraum nicht geantwortet hat. probier doch mal die IP 127.0.0.1 oder "localhost" (ist beides das gleiche) wenn du den Server gestartet hast. Die Projektnamen haben damit nix zu tun :roll:
Erfolg ist die Fähigkeit, von einem Misserfolg zum anderen zu gehen,
ohne seine Begeisterung zu verlieren.
-Winston Churchill-

8

01.01.2008, 12:56

Mit "localhost" und "127.0.0.1" funktioniert es! :) Aber mit dem Namen des Servers klappt das nicht! Wie soll ich das mit dem Namen des Servers machen :?:

9

01.01.2008, 15:22

Zitat von »"NicoWe"«

Fehler code 10060 bedeutet, dass die angepingte Adresse in einem bestimmten Zeitraum nicht geantwortet hat.

Dann hat doch offensichtlich der Server keinen Bock mit dir zu reden, also musste dir einen Server suchen, der dich mag :D
Ansonsten solltest du dir das mal durchlesen, hat mir bis jetzt jede Frage beantwortet:
http://www.zotteljedi.de/doc/socket-buch.pdf
Lieber dumm fragen, als dumm bleiben!

10

03.01.2008, 11:38

Danke :!:
Das heißt also, dass mein Serverprogramm schuld ist!
Dann werde ich mir ein neues schreiben :!:

Werbeanzeige