Blitz 2D - Socket Tutorial

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Marius D.

Betreff: Blitz 2D - Socket Tutorial

BeitragFr, Jun 15, 2007 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ihr,
Ich habe jetzt vor ca 2 Tagen angefangen mit Blitz 2d.
Ich habe schon nen kleines Jump'n'Run game programmiert, nun möchte ich eine Netzwerk/Internet Funktion einbauen.
Aber leider habe ich nach intensivem suchen nichts gefunden oder wenn ich was gefunden habe ist das ungenau (habe nichts gefunden , aber habe in einem tutorial was über multiplayer gelesen , das war aber sehr ungenau).

Ich hoffe jemand kann mir ein Tutorial schreiben(für die anderen natürlich auch Wink )
oder mir ein link geben

Ich muss wissen wie man sachen senden kann und empfangen kann.

Client / Server soll das werden.
Also einer startet ein externen Programm und beie können hin connecten

Ich hoffe ich habe mich ordentlich ausgedrückt Very Happy und keine versteht mich nicht richtig

Smily

BeitragFr, Jun 15, 2007 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.robsite.de/bbkurs2/12multiplayer.htm
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

Marius D.

BeitragFr, Jun 15, 2007 21:58
Antworten mit Zitat
Benutzer-Profile anzeigen
jop , das meine ich mit unverständlich , ich verstehe das da nicht will tcp/ip bzw. udp benutzen was besser für mmo ist.

und was da gut erklärt ist is das DirectPlay

Tankbuster

BeitragFr, Jun 15, 2007 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
UDP-Hilfe: Very Happy
https://www.blitzforum.de/foru...hp?t=22971
Ich bin zwar immer gegen *sofortcodeposten* aber naja.....
Dain ist sogar ein Client-sendet-zu-Server-Prog drinne, und alle Fragen sollten damit beantwortet sein!

Damals habe ich auch schon lang genug zum erklären gebraucht! Das ist bei Anfängern etwas schwieriger Wink Also falls du nicht weiter weißt, benutz die Suche. Da findest du sicherlich 100 Threads, die mit UDP zutun haben!
Irgendwann werd ich mal ein UDP-Tut schreiben, aber ich habe nicht sehr viel Zeit. Rolling Eyes
Twitter
Download Jewel Snake!
Windows|Android

Smily

BeitragFr, Jun 15, 2007 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ein kleines TCP-Codebeispiel:
Ich hoffe mal, die codes sind Selbsterklärend und die Bedeutung der einzelnen befehle ist erkennbar. Falls nicht stehe ich gerne zur verfügung.

Server:
Code: [AUSKLAPPEN]
Type client
   Field name$
   Field tcp
End Type
port=1000
svr = CreateTCPServer(port)
Print "Simple Server-Client TCP example"
Print "Server..."
Repeat
   tcp = AcceptTCPStream(svr)
   If tcp
      client.client = New client
      client\name$ = ReadLine(tcp)
      client\tcp = tcp
      Print client\name$ + " has connected"
   End If
   
   For client.client = Each client
      If ReadAvail(client\tcp)
         Print client\name$ + ">" + ReadLine(client\tcp)
      End If
   Next
Forever


Client:
Code: [AUSKLAPPEN]
Print "Simple Server-Client TCP example"
Print "Client..."
host$ = Input("host>")
name$ = Input("name>")
If host$ = "" host$ = "127.0.0.1"
port=1000
tcp = OpenTCPStream(host$, port)
WriteLine tcp, name$
Repeat
   txt$ = Input(">")
   WriteLine tcp, txt$
Forever


Zum Experimentieren kannst du folgendes machen:
Frage einen Freund, ob er bei sich den Server startet und lass dir seine IP geben, die gibst du dann bei host an.
Schicke eine Nachricht und siehe da -> beim Freund kommt sie an ^^
Du kannst den Server aber auch auf deinem eigenen PC starten und bei host "localhost" eingeben oder das feld frei lassen

gruß, Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

BladeRunner

Moderator

BeitragFr, Jun 15, 2007 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.

Keine Anfragen in FAQ/Tuts, bitte.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Marius D.

BeitragSa, Jun 16, 2007 9:13
Antworten mit Zitat
Benutzer-Profile anzeigen
ups wusste ich nicht , sorry

Jetzt nich ne frage für mmo/mmorpg mit sehr vielen spielern(min. 100)

Was ist da besser tcp oder udp , ich habe bis jetzt 1 spiel gesehen mit udp rest tcp nun weiß ich nicht was mehr sinn macht

Udp ist schneller aber nicht so sicher , was wenn du was für 10000 geld verkaufst das aber beim server nie ankommt

so habe ich das aus nem tutorial ungefair verstanden , das nicht immer alles ankommt

und bei tcp schon , ist aber langsamer
 

Schnuff

BeitragSa, Jun 16, 2007 9:17
Antworten mit Zitat
Benutzer-Profile anzeigen
tcp ist nicht unbedingt langsamer, es ist nur etwas größer Rolling Eyes
es ist eig, geschmackssache, tcp ist (finde ich) viel einfacher, da man eben beim server alle reinkommenden verbindungen in einen type speichern kann...
mit udp habe ich mich aber auch noch nicht wirklich richtig beschäftigt
Programmers dont die. They gosub without return...
 

Marius D.

BeitragSa, Jun 16, 2007 9:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für deine schnelle antwort, aber heißt größer nicht langsamer , was ist eigentlich wichtiger der server mit ner schnellen verbindung oder der client

Sagen wa ma der Server liegt auf nem root mit ner 100 Mbit's anbindung
und der client kommt von nem Pc mit ner 1 Mbit's anbindung (Dsl 1000 , die meisten habe Dsl 6000 [Deutschland])

Ich habe vorher c++ programmiert dort habe ich nur tcp benutzt , da ich aber hier jetzt lese das udp besser ist irritiert mich das ein wenig

noch eine Frage zu types : Types sind doch strukturen ne?
Wie meinst du das man die Verbindungen dort drinne speichern kann?
Für jede verbindung ein neues Feld anlegen?
 

Schnuff

BeitragSa, Jun 16, 2007 9:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
server=createtcpserver(80)
repeat
  new_tcp=accepttcpstream(server)
  if new_tcp then
    con.Tconection=new Tconection
    con\tcp=new_tcp
  endif
until keyhit(1)

type Tconnection
  field tcp
end type

so meinte ich das.
und das mit dem tcp, es ist nicht unbedingt schlechter, man kann auch eine mixtur aus tcp und udp machen, die daten die häufig update kriegen (z.B. position) werden dann über udp versendet

aber wie gesagt, ich mag tcp, und udp, kann ich fast absolut nicht Rolling Eyes
Programmers dont die. They gosub without return...

Tankbuster

BeitragSa, Jun 16, 2007 10:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Also
UDP ist für ein Spiel besser. Wenn du allerdings einen Chat machen willst, ist TcP besser, weil man dort ja nicht so viele Daten sendet!
Die wichtigen sachen, wie z.B. das Geld kannst du mit TCP schicken! Wink
jaja.. ich bin clever, woa ^^
Und mit UDP lässt sich alles genausogut in ein Type speichern. dafür braucht man nur den Befehl RecvUDPMessage Wink

Zitat:
Danke für deine schnelle antwort, aber heißt größer nicht langsamer , was ist eigentlich wichtiger der server mit ner schnellen verbindung oder der client

Also GRÖßER kommt in dem Fall auf LANGSAM hinaus, denn es dauert länger, eine große Nachricht zu schicken, als eine kleine Wink
Und die Daten sollten schnell zum server und von da auch schnell wieder zurückkommen^^
Twitter
Download Jewel Snake!
Windows|Android

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group