Netzverbindung
Übersicht

EkritsBetreff: Netzverbindung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mojn jungs,
ich bin 3D Proger aber nun brauch ich eine Netzwerkverbindung zwischen zwei Pc's (oder mehr) und diese bekomm ich net hin (Ich kann nur 3d denken). Ich möchte mit dieser Verbindung lediglich textversenden und gegebenen falls auch daten. PLS Help me. |
||
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!
Magians vs. Nekromats 100% COMPLETE |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi,
robsite.de --> Das Tutorial von Rob laden... Forensuche |
||
- Zuletzt bearbeitet von Hagbard am Sa, Apr 17, 2010 16:23, insgesamt einmal bearbeitet
Ekrits |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich hab aber leider blitz 2d/3d | ||
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!
Magians vs. Nekromats 100% COMPLETE |
f L i P |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Siehs dir doch bitte erstmal an, dafür ist es nämlich ausgelegt
MfG fLiP |
||
mir egal wer dein Vater ist- solange ich hier am angeln bin wird nicht über's wasser gelaufen! |
Ekrits |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dann sag ma welches du wo gefunden hast ich hab nur für C++ eins gefunden | ||
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!
Magians vs. Nekromats 100% COMPLETE |
f L i P |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
robsite.de/bbkurs2 ... oder so ähnlich, denke da wars ![]() MfG fLiP |
||
mir egal wer dein Vater ist- solange ich hier am angeln bin wird nicht über's wasser gelaufen! |
Ekrits |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ach da , ich dachte das wär nur für spiele oda so manyyy thx | ||
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!
Magians vs. Nekromats 100% COMPLETE |
Ekrits |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok ich da jetzt son code zusammen gepackt aber er hat nen fehler den ich nicht weiß HELP ME
Code: [AUSKLAPPEN] ... ;spnr = Spielernummer ;empf$ = empfänger ;nach$ = Nachricht ; ; ... If KeyDown (38) Then empf$ = Input$("an:") nach$ = Input$(":") SendNetMsg 1, nach$, spnr, empf$,(,wichtig) If empf$ = "exit" Then StopNetGame EndIf ... dann sagt er immer "Expecting expression" ok dann mach ich Code: [AUSKLAPPEN] SendNetMsg 1, nach$, spnr, empf$,(1,wichtig)
dann sagt er "Expectin )" aber da muss eigentlich ne 1 oder 0 hin. hab ich aus http://www.robsite.de/tutorials.php?tut=blitzbasic da das bb-tutorial 2 und dann da netzwerk abschnitt : Direct play |
||
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!
Magians vs. Nekromats 100% COMPLETE |
Medabots1992 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich setze auf UDP da es ja nicht so schlimm ist ob jetzt in der sekunde mal einmal daten ankommen. Bei mir müssen die daten erst nach 11Sek angommen die wichtig sind.
Lerne hier raus: http://blitzbase.de/befehle2d/createudpstream.htm Das war bei mir sehr hilfreich und konnte man sehr leicht umbauen zu was brauchbaren. Hab davon schon nen game gemacht ![]() Das war nur dieser kleine Code der mich zum erfolg gebracht hat, aber weil es für anfänger oder die keine ahnung davon hab hab ich hier mal ne Liste von den Befehlen gemacht: ich setze auf UDP da es ja nicht so schlimm ist ob jetzt in der sekunde mal einmal daten ankommen. Bei mir müssen die daten erst nach 11Sek angommen die wichtig sind. Lerne hier raus: http://blitzbase.de/befehle2d/createudpstream.htm Das war bei mir sehr hilfreich und konnte man sehr leicht umbauen zu was brauchbaren. Hab davon schon nen game gemacht ![]() Das war nur dieser kleine Code der mich zum erfolg gebracht hat, aber weil es für anfänger oder die keine ahnung davon hab hab ich hier mal ne Liste von den Befehlen gemacht: (alles von blitzbase entnommen) Code: [AUSKLAPPEN] COUNTHOSTIPS - Diese Funktion sucht nach Hosts mit dem angegebenen Namen. Die Anzahl der Hosts wird gezählt und danach zurückgegeben. Wenn mit dem Parameter Host$ der Wert "" übergeben wird, dann werden alle Hosts gesucht. Mit der Funktion HOSTIP kann man die IP-Nummer ermitteln. DOTTEDIP - Diese Funktion wandelt einen Integerwert in eine IP-Nummer. Eine IP-Nummer besteht aus 4 Zahlen - die alle durch Punkte getrennt sind. Diese Nummer ist 32 Bit breit (=Integer). Die Umwandlung ist relativ simpel. Es werden nur die einzelnen Byte-Werte "gesplittet" und als dezimale Zahlen ausgegeben. Aus dem Integerwert 1234567 entsteht somit der String: "0.18.214.135". CREATEUDPSTREAM - Dieser Befehl erstellt eine UDP-Netzwerkverbindung. Die Portnummer kann angegeben werden. Falls es weggelassen wurde, dann sucht BlitzBasic nach einem freien Port. Die Nummer des Ports kann mit UDPSTREAMPORT ermittelt werden. CREATEUDPSTREAM liefert einen Wert, der die Identität des Datenstroms angibt. Dieser Wert kann z.B. mit Read/Write-Befehlen verwendet werden. Sollte nur eine 0 zurückgeliefert werden, so konnte keine UDP-Verbindung erstellt werden. Mit CLOSEUDPSTREAM kann eine Verbindung wieder geschlossen werden. WRITEBYTE - Byte senden WRITESTRING - String senden WRITEFLOAT - Float senden ... SENDUDPMSG - Mit diesem Befehl kann eine Nachricht an eine IP-Adresse (und Port-Adresse) als UDP-Protokoll gesendet werden. Bevor man es benutzen kann, muss man allerdings noch CREATEUDPSTREAM ausführen. Eine Nachricht kann mit normalen WRITE-Befehlen geschrieben werden. Erst danach kann eine Nachricht mit SENDUDPMSG gesendet werden. RECVUDPMSG - Diese Funktion kann neue Nachrichten empfangen und eine IP-Adresse zurückliefern, wenn eine Nachricht aus dem Netzwerk empfangen wurde. Andernfalls liefert es 0 zurück. Mit DOTTEDIP kann aus dem Integer eine normale IP-Adresse errechnet werden. Die Nachricht kann mit normalen READ-Befehlen ausgelesen werden. Bevor man es benutzen kann, muss man allerdings noch CREATEUDPSTREAM ausführen. Die Nachricht wird mit RECVUDPMSG empfangen. Mit UDPMSGPORT kann der benutzte Port ermittelt werden. Mit SENDUDPMSG kann dagegen eine Nachricht verschickt werden. READAVAIL - Diese Funktion kann für Datei- und Netzwerkzugriffe benutzt werden. READAVAIL ermittelt dabei die Anzahl der Bytes, die garantiert ausgelesen werden können. Wurde eine Datei geöffnet, so liefert diese Funktion die Anzahl der Bytes, die in den Speicher abgelegt wurden. Wenn diese Funktion mit einer Internetverbindung benutzt wird, dann liefert es die Anzahl der Bytes, die über das Internet angekommen sind. Benutze auch EOF. Diese Funktion ermittelt, ob das Ende einer Datei erreicht ist. CLOSEUDPSTREAM - Dieser Befehl schließt eine UDP-Verbindung, die mit CREATEUDPSTREAM geöffnet wurde. CREATEUDPSTREAM liefert einen Wert, der zusammen mit CLOSEUDPSTREAM benutzt werden muss. Durch eine UDP-Verbindung kann man auf ein Netzwerk zugreifen. So das müsste reichen auch das es für die anfänger verstendlich ist und wenn nicht dann weis ich auch nicht weiter. Mir hat es zumindest geholfen. |
||
Ekrits |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok ich habs kapiert aber man muss immer zahlen eingeben und so. ich wollte eigentlich nen chat machen und da ist es viel zu umständlich. | ||
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!
Magians vs. Nekromats 100% COMPLETE |
Medabots1992 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ehm du sollst nicht den code verwenden sondern draus lernen ![]() Ok ich mache dir ein beispiel code jetzt wo ich es selber schon kann. |
||
Medabots1992 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok hab den code gebasstelt und getestet
Der code ist leider nicht so geworden wie man immer wolte aber egal. Um eine Nachricht zu schreiben muss man Leertaste drücken was ja da Steht ![]() Viel Spaß mit dem und das beinhaltet einen teil wie ich in meinen Vorletztem Post geschrieben hab. Hier muss man auf Byte Float und String aufpassen. Byte wird als erstes Gesendet um sich zu stellen was die andere Seite tun muss, aber spiele mit dem code nicht rum. Sondern versuche ihn zu kapieren und daraus nutzen zu ziehen. Also hier mein UDP Chat: BlitzBasic: [AUSKLAPPEN] Graphics 640,480,32,2 |
||
Ekrits |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja ok das iss nen guter code . Ich hab aber jetzt schon das Spiel auf direct play ausgelegt und ich hab keine lust das ganze spiel m programmieren.
Also ich bräuchte eine Lösung für DIRECT PLAY |
||
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!
Magians vs. Nekromats 100% COMPLETE |
Medabots1992 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hab ich bei mir auch gemacht ich hab denn ganzen code anders gemacht in so 30minuten war alles wieder so wie es sein sollte.
Aber gefunzt hat es net weil ich das senden falsch gemacht hab udn somit war es immer gesprungen das bild und hab gesehen bei mir war ne zeile zuwenig als ich es dann hatte hat es funktioniert ![]() Aber ich würde liebr das benutzen was man schon hat, weil sonst frägt man nur und man erarbeitet sich nix. Ich wollte 4Spieler game machen wollte aber einen fragen wie ich das machen sollte dann hab ich nen server gestartet und der schickt jeden den richtigen spielernummer und namen und schon hat es funktioniert. Bin aber weiterhin am proggen und weil ich nur 2PCs hab kann ich nur 2Player machen. Der rest muss ich für KI auslegen was ja ne menge arbeit werden kann. Der Computer gegner darf ja net immer richtig liegen sondern auch mal falsch und das muss man für das spiel erst schaffen. Ich bin aber immernoch beim üben und ich progge alles jetzt ohne vorlage um mich zu testen. Natürlich benutze ich die Onlinehilfe uhne sie verloren ![]() ![]() ![]() |
||
Ekrits |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok hat sich erledigt ich darf net wichtig schreiben sonder nur 1 oder 0 | ||
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!
Magians vs. Nekromats 100% COMPLETE |
Ekrits |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ach man ich kein Bock mehr ich hab nen freund meine beide programme gegeben und mit den beiden (Direct Play / UDP) aber ich bekomm keine Verbindung mit im.
Direct PlayCode: [AUSKLAPPEN] Graphics 800,600 ;AppTitle "SplntProg Chat" ;hoch = hostspiel ;joch = joinspiel ;spnr = spielernummer ;nach = nachrichttyp ;var = nachricht ;spna = spielername .Marke ;hinter=LoadImage("C:\Daten\hintergrundmini.bmp") ;logo=LoadImage("C:\Daten\progger.bmp") ;TileBlock hinter, 0,0 ;DrawImage logo, 245, 250 Print "" Print "1 - Hosten" Print "2 - Joinen" wahl = Input$("Auswahl:") If wahl = 1 Then hoch$ = Input$("Neuer Channel:") spiel = HostNetGame("" + hoch + "") If wahl = 2 Then joch$ = Input$("Name des Channel:") spiel = JoinNetGame(joch$, Host_IP$) If joch$ = 0 Then Print "" Print "Channel konnte nicht gefunden werden" Print "" Goto Marke EndIf Name$ = Input$("Nickname:") Print "20%" Print "40%" Print "60%" Print "80%" Print "100%" Repeat var = RecvNetMsg() nachtype = NetMsgType() spnr = NetMsgFrom() spna$ = NetPlayerName$(spnr) nach$ = NetMsgData$() var = RecvNetMsg() If nachtype = 100 Then Print "Neuer Spieler" ElseIf nachtype = 101 Then Print "Ein Spieler hat die Sitzungs verlassen" ElseIf nachtype = 102 Then Print "Der Host hat die Sitzung verlassen" ElseIf nachtype = 200 Then Print "- FEHLER - Sitzung wird geschloßen" EndIf If KeyDown (15) Then empf$ = Input$("an:") nach$ = Input$(":") SendNetMsg 1, nach$, spnr, empf$,1 If empf$ = "exit" Then StopNetGame EndIf If KeyDown(1) Then End If var = 1 Then Print "" + spna$ + "sagt: " + nach$ + "" EndIf ;msg = Until KeyHit(1) So und nun den UDP:Code: [AUSKLAPPEN] AppTitle "Progger Chat" Print "Sample UDP Communications" Inp_Port=4000 Out_Port=4001 Print "LOCAL IP:" ip_count=CountHostIPs(GetEnv("localhost")) For i=1 To ip_count Print DottedIP(HostIP(1)) Next Print "Enter Destination IP#: xxx.xxx.xxx.xxx" Dest_IP$=Input$(">") IP= INT_IP(Dest_IP$) Print "" Print "Starting Chat TO quit" udp_rd=CreateUDPStream(Inp_Port) udp_wr=CreateUDPStream(Out_Port) .loop byte1=GetKey() If byte1>0 Then If Byte1=13 Then WriteByte(udp_wr,byte1) SendUDPMsg udp_wr,IP,Inp_Port Else Write Chr(Byte1) WriteByte(udp_wr,byte1) SendUDPMsg udp_wr,IP,Inp_Port EndIf EndIf IP_rd=RecvUDPMsg(udp_rd) If IP_rd <> 0 Then Buflen=ReadAvail(udp_rd) If Buflen> 0 Then byte1=ReadByte(udp_rd) If byte1=13 Then Else Write Chr$(byte1) EndIf EndIf EndIf If KeyDown(1) Then Goto quit Goto loop .quit CloseUDPStream udp_wr CloseUDPStream udp_rd Function INT_IP(IP$) a1=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,".")) a2=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,".")) a3=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,".")) a4=Int(IP$) Return (a1 Shl 24) + (a2 Shl 16) + (a3 Shl 8 ) +a4 End Function Ich brauche dringend hilfe den mein Spiel soll endlich fertig werden. |
||
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!
Magians vs. Nekromats 100% COMPLETE |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group