JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=7c88f71efa894fb57ce94a3efc312fa6Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Winsock Probleme

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DerJJ
Junior JLI'ler



Anmeldedatum: 24.12.2002
Beiträge: 84

Medaillen: Keine

BeitragVerfasst am: 20.03.2003, 18:29    Titel: Winsock Probleme Antworten mit Zitat

Hey Jungs!
Also, ich hab ein paar Probleme mit Winsock,
ich versuche vom Client erst den Namen zu schicken, dann vom Server eine Int Variable(muss ich ja auch als char senden) zu erhalten und dann sende ich selber nochmal eine Int Variable.
Aber ich glaube die Variablen werden irgendwie falsch verschickt, z.B. kommt nicht der Name an, sondern irgendeine komische zeichenfolge...
Hier mal ein paar Code auszüge:

Code:
//Client sendet...
Datei = fopen("name.jjs","r");
fgets(name,35,Datei);
fclose(Datei);
rc=send(Socket,name,35,0);

//Server empfängt...
rc=recv(Socket,name,35,0);
sprintf(buf,"Gegner da: %s",name);
MessageBox(0,buf,"Netzwerkgame",MB_OK);

Wie gesagt, ich erhalte ein paar komische zeichen in der MessageBox, aber nicht das was in der Datei steht.

dann noch die int Variablen:
Code:
//Client sendet...
sprintf(eigeneKampfkraft,"%i",Kampfkraft);
[...]
rc=recv(Socket,gegnerKampfkraft,35,0);
rc=send(Socket,eigeneKampfkraft,35,0);
gegner=atoi(gegnerKampfkraft);

//Server empfängt...
sprintf(eigeneKampfkraft,"%i",Kampfkraft);
[... ]
rc=send(Socket,eigeneKampfkraft,35,0);
rc=recv(Socket,gegnerKampfkraft,35,0);
gegner=atoi(gegnerKampfkraft);

Ich hab das getestet, jeder übermittelt eine Kampfkraft von 1 an den anderen... Aber trotzdem erhalten beide eine falsche gegnerkampfkraft variable, nämlich 0...

hier nochmal der Code der für die Ausgabe ist:
Code:
//Bei Client und Server gleich, ausser das das gleichheitszeichen beim
//Client bei der unteren if anweisung ist.
if(Kampfkraft>=gegner)
                     {
                        sprintf(buf,"Du hast die Raumschlacht gewonnen! \nDer Gegner hatte eine Kampfkraft von: %i \nDu hattest eine Kampfkraft von: %i \n %s ",gegner,Kampfkraft,gegnerKampfkraft);
                        MessageBox(0,buf,"Netzwerknachricht:",MB_OK);
                     }
                     if(Kampfkraft<gegner)
                     {
                        kleinerjaeger=0;
                        sprintf(buf,"Du hast die Raumschlacht verloren! \nDer Gegner hatte eine Kampfkraft von: %i \nDu hattest eine Kampfkraft von: %i \n %s ",gegner,Kampfkraft,gegnerKampfkraft);
                        MessageBox(0,buf,"Netzwerknachricht:",MB_OK);
                     }

Hier wird wie gesagt bei Gegnerkamprkraft immer 0 ausgegeben, zur Überprüfung wollt ich nochmal das %s mit dem angekommenen String ausgeben, aber da erscheint überhaupt nix!

Kann mir wer weiterhelfen???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 02.08.2004, 19:50    Titel: Antworten mit Zitat

Bei Problemen mit Winsock ( davon hatte ich schon genug! Wink ) kann ich nur http://www.c-worker.ch/tuts.html empfehlen. Smile
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 02.08.2004, 23:51    Titel: Antworten mit Zitat

versuch dir mal folgendes anzugewöhnen:

Code:

rc=recv(Socket,gegnerKampfkraft,35,0);
gegnerKampfkraft[rc] = '\0';


hf gl
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum