JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Netzwerk Programmierung
Gehe zu Seite 1, 2  Weiter
 
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: 05.02.2003, 15:43    Titel: Netzwerk Programmierung Antworten mit Zitat

Hoi Leutz...
Kennt jemand n gutes Tut für NEtzwerk programmierung
ich suche sowas wo man sich bei em Server anmelden muss... dann bekommt man ne ID zugewiesen und über die ID laufen dann so andere Sachen ab...
Und dann müsste ich noch wissen wie man bestimmte variablen an den Server schicken kann, oder auch umgekehrt...
Oder eine Datei mit Variablen...


N (deutsches) Buchtip wwär auch net schlecht, was sich hauptsäclich mit Windows + Netzwerkprogrammierung beschäftigt!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 06.02.2003, 11:06    Titel: Antworten mit Zitat

Ich versuche, bei der Netzwerkprogrammierung immer das Unix-Konzept zu verwenden, also auf BSD-Sockets zu setzen. Mit diesen kann man dann mämlich ganz einfach per read()/write() Daten Senden und Empfangen.
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DerJJ
Junior JLI'ler



Anmeldedatum: 24.12.2002
Beiträge: 84

Medaillen: Keine

BeitragVerfasst am: 06.02.2003, 14:24    Titel: Antworten mit Zitat

Sorry, aber ich kenne das Unix konzept nich und was BSD-Sockets sind weiß ich auch net so ganz...
magst nich mal n tutorial schreiben? Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DerJJ
Junior JLI'ler



Anmeldedatum: 24.12.2002
Beiträge: 84

Medaillen: Keine

BeitragVerfasst am: 06.02.2003, 15:30    Titel: Antworten mit Zitat

Also ich hab da mal n bissl rumgesucht und folgende Seite gefunden

http://www.c-worker.ch/tuts/wstut_op.html


Aber ich hab da ein kleines Problem, ich hab immer unaufgelöste externe Verweise...

Kann mir mal einer so erklären was das überhaupt bedeuten soll, ungefähr, könnte da z.B. ne dll Fehlen?

Code:
erver.cpp
Linker-Vorgang läuft...
server.obj : error LNK2001: Nichtaufgeloestes externes Symbol _WSACleanup@0
server.obj : error LNK2001: Nichtaufgeloestes externes Symbol _closesocket@4
server.obj : error LNK2001: Nichtaufgeloestes externes Symbol _recv@16
server.obj : error LNK2001: Nichtaufgeloestes externes Symbol _send@16
server.obj : error LNK2001: Nichtaufgeloestes externes Symbol _connect@12
server.obj : error LNK2001: Nichtaufgeloestes externes Symbol _inet_addr@4
server.obj : error LNK2001: Nichtaufgeloestes externes Symbol _htons@4
server.obj : error LNK2001: Nichtaufgeloestes externes Symbol _WSAGetLastError@0
server.obj : error LNK2001: Nichtaufgeloestes externes Symbol _socket@12
server.obj : error LNK2001: Nichtaufgeloestes externes Symbol _WSAStartup@8
Debug/NetzwerkServer.exe : fatal error LNK1120: 10 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

NetzwerkServer.exe - 11 Fehler, 0 Warnung(en)


Also ich würde sagen da fehlt die DLL von Winsock, oder???



Hat sich erledigt...
musste die wsock32.lib mit einfügen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Starwash
Senior JLI'ler


Alter: 40
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 06.02.2003, 18:50    Titel: Antworten mit Zitat

Hi,
um es mal wieder zu posten in der Hoffnung, dass es dann irgendwann mal alle Wissen, wenn es unaufgelöste Externe Verweise als Fehlermeldungen gibt, kann es nur eine vergessene lib oder dll sein. Da die DLL bei Winsock automatisch eingebunden wird kam hier nur die lib in Frage. Und jetzt noch ein kleiner Tipp für die VC++'ler damit man nicht immer aufpassen muss, welche von seinen Klassen, welche lib benötigt, wenn man Klassen hat, die man bei mehreren Projekten verwenden will gibt es eine Preprozessor-Anweisung.

Code:
#pragma comment(lib,"ws2_32.lib")


Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DerJJ
Junior JLI'ler



Anmeldedatum: 24.12.2002
Beiträge: 84

Medaillen: Keine

BeitragVerfasst am: 07.02.2003, 20:37    Titel: Antworten mit Zitat

danke!

So, hab jetzt aber noch n paar Fragen dazu...
1.
Wie kann ich empfangen und senden gleichzeitig?
Also, bei dem Beispiel ist es ja so das der Client was schreiben muss damit der Server antworten kann, ich möchte aber das mann immer was schreiben kann, und auch immer empfangen kann!
2.
Wie bekomme ich das hin das mehrere User auf einen Server connecten können!
3.
Falls 2. nicht gehen sollte, wie bekomme ich es hin das der Server nach einer unterbrochenen verbindung wieder empfangsbereit für die nächste is?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Starwash
Senior JLI'ler


Alter: 40
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 08.02.2003, 02:57    Titel: Antworten mit Zitat

Hi,

1. Asynchronenetzerkprogrammierung ist nicht ganz so einfach, ich habe ein dickes Buch über die Programmierung und habe leider aus Zeitgründen und auch aus techn. Gründen meine Netzwerkklasse für mein Spiel nicht Asynchron hinbekommen.

2. schau dir mal die Funktionen
"accept" und "listen" an

3. Deine Fehlerbehandlung muss nur dafür sorgen, dass der Server wieder einsatzfähig ist....

4. unter www.games-net.de gibt es ne Netzwerkengine, welche auf WinSock basiert, dort kann man sich einiges abgucken. Da findest du auch noch einige Tutorials zur Netzwerkprogrammierung mit WinSock.

Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 08.02.2003, 09:02    Titel: Antworten mit Zitat

Ich hab mit jemanden ein Internetfähiges Scribbel programmiert. Soweit ich mich erinnere hat der Hauptthread für jeden Clienten einen extra Thread angelegt... ich werd den Source Code morgen mal uppen... is aber Chaos in seiner reinsten Form. ;)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DerJJ
Junior JLI'ler



Anmeldedatum: 24.12.2002
Beiträge: 84

Medaillen: Keine

BeitragVerfasst am: 08.02.2003, 12:20    Titel: Antworten mit Zitat

alles klar, danke...
@ Tarek werd ich mir mal angucken

@ Hazel danke, werd ich mir dann auch angucken!

Edit:
Hat zufällig jemand die NETFIRE.DLL, die is bei dem was ich mir runtergeladen habe leider nicht dabei...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 08.02.2003, 13:20    Titel: Antworten mit Zitat

So, ich hab das jetzt mal geuppt. Ist auf meiner Seite zu finden: www.jliforum.de/hazel
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DerJJ
Junior JLI'ler



Anmeldedatum: 24.12.2002
Beiträge: 84

Medaillen: Keine

BeitragVerfasst am: 08.02.2003, 16:20    Titel: Antworten mit Zitat

Kann mir mal einer sagen wie ich n Kontextmenü laden kann? Ein normales menü kann ich laden, aber ich weiß net wie das gehen soll!

Und wie erzeuge ich ein CHILD fenster und wo lege ich Fest was dadrin steht?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 08.02.2003, 18:04    Titel: Antworten mit Zitat

@DerJJ: Die Fragen, die du zum schluss gestellt hast, kann dir keiner besser erklären, als Charles Petzold in seinem Buch Windowsprogrammierung, 5. Auflage. Einfach mal in der Bibliothek danach schauen oder kaufen. (Auch wenn's etwas teurer ist kann ich es nur empfehlen) Die neuste Auflage (6) ist allerdings für C# und damit für deine Probleme nicht mehr geeignet.

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DerJJ
Junior JLI'ler



Anmeldedatum: 24.12.2002
Beiträge: 84

Medaillen: Keine

BeitragVerfasst am: 09.02.2003, 12:51    Titel: Antworten mit Zitat

Geht der da rein zufällig auch ein bisschen auf Netzwerkprogrammierung ein? Is des Deutsch? Dann werd ich mir das mal holen... Aber das ist nicht irgdendwie mit MFC oder so? danke für den Tip!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 09.02.2003, 13:48    Titel: Antworten mit Zitat

Es ist Deutsch, ohne MFC und mit WinSock und FTP programmierung.
AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DerJJ
Junior JLI'ler



Anmeldedatum: 24.12.2002
Beiträge: 84

Medaillen: Keine

BeitragVerfasst am: 06.03.2003, 11:20    Titel: Antworten mit Zitat

Kennt einer nen Tutorial wo beschreiben wird wie man nicht auf eine eingehende Nachricht oder auf einen verbindungsaufbau warten muss?
Mein Programm soll einen Server aufmachen und weiterlaufen, auch wenn keiner connectet... und mein Programm soll auch weiterlaufen wenn ich auf eine Nachricht warte, aber ich will trotzdem auch was senden können... Laughing


Wer kann mir helfen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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