UPD beispiel

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Kleiner satan

Betreff: UPD beispiel

BeitragSo, Aug 20, 2006 11:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
also...ich bin seit einiger zeit drann eine komuniation von 2 programmen mit UPD zu machen....aber irgentwas geht immer schief Embarassed
ich hab mir Robssite schon tausend mal durchgelesen aber verstehe es immernochnicht

kann mir jmd. ein simples beispiel von 2 UPD programmen geben??


danke

Smokie

BeitragSo, Aug 20, 2006 11:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutz doch ma die Foren suche. IM Codearschiv findest du unmengen an UDP Sachen.

Grüße
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer.
Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört
Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet

Kleiner satan

BeitragSo, Aug 20, 2006 11:23
Antworten mit Zitat
Benutzer-Profile anzeigen
aber die sin alle so schwer...alles so n paar hundert seiten von code...und davon 2% UPD^^

StepTiger

BeitragSo, Aug 20, 2006 11:41
Antworten mit Zitat
Benutzer-Profile anzeigen
UDP heißt so viel wie User Datagram Protocol.
ich glaub, im codearchiv gibts ganz viele chat programme via UDP
ich finde das hier:
https://www.blitzforum.de/foru...hlight=udp
ganz gut

vielleicht hilft dir das weiter:
https://www.blitzforum.de/foru...hlight=udp
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

Kleiner satan

BeitragSo, Aug 20, 2006 11:46
Antworten mit Zitat
Benutzer-Profile anzeigen
also das erste ist so ein langer code und der 2.ist ein directplay code Wink

Kleiner satan

BeitragSo, Aug 20, 2006 12:20
Antworten mit Zitat
Benutzer-Profile anzeigen
oder sag ich mal so:
wo habt ihr alle UDP gelernt??? oder gibts ein GUTES und simples kleines Tut ohne Types und zusatzmüll??

Smokie

BeitragSo, Aug 20, 2006 12:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ärgert mich ein bissl.

Schau dir den Code einfach an. Da steht alles. Oder die Onlinehilfe. ICh hab's nur so gelernt. Schau ihn dir an und versuch ihn zu verstehn.
Und irgendwann wirst du den Zusatzmüll für ein Programm brauchen.

Grüße
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer.
Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört
Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet

Kleiner satan

BeitragSo, Aug 20, 2006 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
naja ok das sitmmt, aber ich will ja nur das UPD lernen...ich schau mir den mal an

Kleiner satan

BeitragSo, Aug 20, 2006 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
ähm...ich hab noch eine frage:
ich brauche die IP um eine nachricht an jmd. zu schicken, aber wie soll ich das tun wenn ich die IP nicht kenne! der andere kann mir seine IP ja nicht schicken weil er meine nicht kennt!

raff ich nicht!

Smokie

BeitragSo, Aug 20, 2006 13:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Rolling Eyes okay, du hast doch sicher schonmal sowas wie Counterstrike oda UT gezockt, da wird doch am Anfang der Master Server abgefragt.

Der Client kennt nur eine Ip adresse, die vom Master Server. Jeder Server der gehostet wird meldet sich automatisch beim Master Server angemeldet. Wenn ein Client sich die Server Liste holt bekommt er die Daten vom Master Server zugeschickt, dadurch bekommt der CLient die IP des Servers. Wenn der Client jetzt einem Server joint muss dieser sich beim Server anmelden, indem er ihm eine Naricht schickt. Über diese Naricht kann der Server die IP des Clienten herausfinden.

In der Onlinehilfe steht das auch. Der Befehl dazu lautet UDPmsgIP.

Grüße
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer.
Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört
Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet

Kleiner satan

BeitragSo, Aug 20, 2006 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
aber wenn ich LAN zocke dann wird doch garnicht nach der IP gefragt!

Holzchopf

Meisterpacker

BeitragSo, Aug 20, 2006 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Edit: Mein Post bezieht sich auf den vorvorherigen von kleiner Satan

Dieses Problem hat jeder.
Manche lösen das so, dass man die IP einander halt über ein anderes Chatprogramm zuschickt, zB per Skype. Die eigene IP kennt man ja schliesslich. Kann in BB sogar ausgelesen werden aber nur dann, wenn man sich nicht hinter einem Router befindet.
Geht so:
Code: [AUSKLAPPEN]
hosts = CountHostIPs("")
For a = 1 To hosts
   Print DottedIP(HostIP(a))
Next
WaitKey()
End

Andernfalls ruft man ein PHP-Script auf, dass einem die eigene IP ausspuckt (zB http://julianfriedrich.com/php/meineip.php), solche Scripts kann man auch über BB aufrufen.
Bringt in Blitz aber nicht grad sonderlich viel, die eigene IP zu kennen, da man ja die IP des andern kennen sollte, um ihn zu kontaktieren.

Andere (viele) lösen das nun so, dass sie über BB ein PHP-Script auf einem festen Server (die URL wird ja wohl nicht ändern) aufrufen, dieses Script trägt die IP (von wo aus es aufgerufen wurde) in eine Liste ein. Ein zweites Script spuckt diese Liste dann wieder aus. Der Host trägt sich selber beim öffnen also ein, die Clients rufen die Liste ab und haben somit die IPs der möglichen Spiele-Hosts.

Was dann auch noch von Bedeutung ist, ist der Port. Aber nur wesentlich beim Host.

Soweit gut? Rolling Eyes

Dann erstellst du mit CreateUDPStream() einen Stream(ja ein Stream sollte reichen), der Server gibt bei seinem noch zusätzlich den Port an.
Der Client sendet nun, wenn er beitritt mit Write* Stream, blubber und SendUDPMsg Stream, ServerIP, ServerPort. (<- IP sollte ja bekannt sein, Port solltest du vorher festlegen. HL benutzt ja beispielsweise 27015 oder so Rolling Eyes )

(Um lokal zu testen kannst du als IP $7F000001 angeben (localhost))

Der Host empfängt nun also auf seinem Stream eine Nachricht, liest sie aus und entnimmt der empfangen Nachricht noch zusätzlich die Infos IP und Port des absenders (UDPMsgIP und UDPMsgPort).

Jetzt kennen beide Programme alle zur Kommunikation notwändigen Infos über den andern.
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Kleiner satan

BeitragSo, Aug 20, 2006 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
VIELEN DANK!

aber klappt das auch alles wenn ich es im hausinternen netzwerk machen will?

Smokie

BeitragSo, Aug 20, 2006 14:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Das klappt überalles was 2 Computer verbindet.
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer.
Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört
Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet

Kleiner satan

BeitragSo, Aug 20, 2006 14:12
Antworten mit Zitat
Benutzer-Profile anzeigen
coool, dann muss ich das gleich mal testen

Kleiner satan

BeitragSo, Aug 20, 2006 14:45
Antworten mit Zitat
Benutzer-Profile anzeigen
noch ne frage: ist es möglich das eine inegner IP oder wie das heißt eine negative zahl ist???

BladeRunner

Moderator

BeitragSo, Aug 20, 2006 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur als Hinweis: in Zukunft werde ich jeden Thread mit doppelpost schliessen.
Benutz den Edit-Button.

EDIT: Ja, kann sie, btw.
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

Kleiner satan

BeitragSo, Aug 20, 2006 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry aber ich befürchte immer das ich dann keine antwort mehr bekome weol wenn man editiert sieht man nicht das da ein neuer beitrag ist Wink

BladeRunner

Moderator

BeitragSo, Aug 20, 2006 14:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Risiko des Lebens. Andererseits sind nicht alle Benutzer dieses Forums beim Erstellen deines Beitrages online, und deine Doppelposts haben die Eigenschaft innerhalt kurzer Zeiträume zustandezukommen. Es wird also mehr als genug User geben die Deinen Beitrag dennoch als neu sehen, auch wenn Du editierst.
Ich hab Dich nicht zum ersten mal drauf hingewiesen und ich erwarte dass Du dich in Zukunft daran hälst.
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

Kleiner satan

BeitragSo, Aug 20, 2006 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm...ja ok, können denn die admins es denn nicht so progren das wenn man editiert das direkt als neuer beitrag angezeigt wird???

oder noch was anderes ich weiß nit ob das hier ganz rein gehört...hat noch jmd. ne antwort????

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group