[UDP] Brauche hilfe...
Übersicht

KHORNBetreff: [UDP] Brauche hilfe... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi leutz...
Also ich hab mich gestern mit Direct Play beschäftigt. Ich hab sogar am ersten Tag einen kleinen Chat hingekriegt, aber ich will jetzt ein MiniChat mit UDP proggen. Aber ich versteh noch nicht so ganz wie UDP funktioniert. Und jetzt meine bitte an einem von euch : Kann mir einer ein gaanz kleine sache coden ? pls Es muss nichts besonderes sein.(so kurz wie möglich) Nur eine kleinigkeit soll da sein. Am Anfang: Host oder client.... und danach soll ein text der auf dem Bildschirm stehen und zwar eine bestimmte variable. Und wenn man eine Taste drückt, dann kann man was schreiben, und der Text ändert sich dann beim anderen entsprechend um. Ich wäre euch sehr dankbar. Bitte postet mir auch keine Links von : robsite.de, blitzbase.de o.ä. Ich quäl mich schon die ganze Zeit mit dem Tutorial von robsite.de und die funktionen von blitzbase.de , aber ich bekomm einfach nichts mit UDP hin... Und suchen? Das tue ich schon den ganzen Tag lang. Also bitte auch nichts zu einem Thread posten. Also ich hoffe einer von euch kann das für mich machen. Der jenige, wird dann bei mir in den Credits erwähnt, falls ich mal ein Spiel mache,wo ich das verwende ![]() Danke PS: Ich weiß nicht ob das hier rein gehört... Ein totaler beginner bin ich nicht ![]() MfG KHORN |
||
![]() |
Noa |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, ich bin leider kein Profi ^^" und bin auch nicht ausgebildet anderen etwas beizubringen, aber ich hoff meine kleine Anleitung vermittelt mal die Grundlagen, die Befehlsreferenz auf http://www.blitzbase.de/menu/2w.htm tut dann hoffentlich den Rest ^-^
Ich hab das Beispiel sehr einfach gefasst, damit es möglichst deutlich wird! Client-Code BlitzBasic: [AUSKLAPPEN]
Code: [AUSKLAPPEN] Print "Client start..." ;Dieser Befehl ist nur da, damit man die Konsole sieht, ansonsten würde alles unsichtbar ablaufen stream=CreateUDPStream() Function verarb_ipwandeln(ip$) CountHostIPs(ip$) Return HostIP(1) End Function server_ip=verarb_ipwandeln("127.0.0.1") server_port=8080 WriteString stream,"Hallo ich bin eine Nachricht vom Clienten!" SendUDPMsg stream,server_ip,server_port Server-Code BlitzBasic: [AUSKLAPPEN]
Code: [AUSKLAPPEN] ;WICHTIG!!!!: Beim Testen erst den Server, dann den Clienten starten, damit ein Ergebnis zu sehen ist! Print "Server start..." ;Dieser Befehl ist nur da, damit man die Konsole sieht, ansonsten würde alles unsichtbar ablaufen stream=CreateUDPStream(8080) Repeat Delay 20 ;Dieser Befehl ist dazu da die Schleife zu verlangsamen, damit die Systemressourcen nicht 100% ausgelastet werden client_ip=RecvUDPMsg(stream) If client_ip<>0 Then nachricht$=ReadString$(stream) Notify "Nachricht vom Client: "+nachricht$ EndIf Forever |
||
KHORN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
boa....
vielen Dank für deine Hilfe. Ich werds gleich ausprobieren. DANKE MfG KHORN |
||
KHORN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
cool es klappt ![]() aber so wie ich jetzt UDP verstehe, braucht man für jeden Nachrichtentyp einen Port.. oder etwa nicht ? z.b. will ich den Nick des Users übertragen...wie soll denn der server wissen, ob es jetzt eine Nachricht oder der Nich des Users ist ? |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
du könntest ein oder mehrere infobytes voranstellen, welche bestimmen was für eine info denn in dem paket ist ![]() |
||
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 |
KHORN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hm...
hört sich gut an, aber versteh nicht ganz was du meinst xD (sry) |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
...du überträgst deinen String. das oder die ersten Zeichen enthalten keinen Text sondern einen "Code" der angibt was ankommt.
ZB: "01dies ist ein testtext" <-die 01 wird zu Beginn ausgelesen und das Prog weiss das ne Textmessage kommt. oder "13BladeRunner" <- die 13 bedeutet: jetzt wird ein Nick übertragen. Und so weiter. Du musst für dein Proggie nur entscheiden, wieviele verschiedene Typen es gibt und dementsprechend Zeichen am anfang einbauen und später wieder auslesen. |
||
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 |
KHORN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
aahh... ![]() verstehe es endlich ![]() Danke |
||
BlackTermi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich hab mal ne frage dazu, und zwar
Zitat: und dann kann der Server ebenso über den stream Daten senden wie der Client, dafür muss aber kein neuer Stream erstellt werden, der alte kann immer wieder verwedet werden.
ich dachte wenn man nun z.B. denselben stream für senden und emppfangen benutzt könnte es passieren dass daten die man gerade erst selbst empfangen, aber noch nicht ausgelesen hat mit zurückverschickt werden können??? |
||
![]() |
Noa |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich bin mir nich 100% sicher, aber bei mir ist sowas noch nie passiert, von daher denk ich nich, dass das möglich is | ||
KHORN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ähm...
noch ne frage : ist UDP auch die beste Methode Online Games zu machen ? Und noch eine frage^^" DirectPlay ist doch nicht online oder ? die frage klingt zwar ein bissl newbie, aber bin halt nicht der beste im Netwerk zeugs. |
||
gamble |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
DirectPlay ist auch für Multiplayer ![]() |
||
KHORN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
naja...
directplay ist am einfachsten, aber ich hab ein (online) chat programmiert und es hat nicht online funktioniert sonder nur LAN .... vielleicht liegt das ja an mein router... aber directplay ist doch sehr langsam... also damit ein online game zu programmieren kommt nicht in frage.. oder doch o.O ? |
||
KHORN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ähm....
leutz.. ? könnt ihr mir vielleicht noch einmal helfen pls ? Hier mein Code : Was ist daran falsch... es funktioniert einfach nicht ![]() BlitzBasic: [AUSKLAPPEN] Graphics 640,480,24,2 |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group