BNetEx

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu Seite Zurück  1, 2, 3, ... 11, 12, 13  Weiter

Neue Antwort erstellen

Hummelpups

BeitragSo, Sep 18, 2005 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Tag, kann es sein das ich zu blöööde bin?

Schaffe es nicht das Modul zu compilen er bietet mir die
Option garnich an.

Habe im pub.mod Ordner einen bnetex.mod erstellt.
Darin ist dann eine Datei nämlich die Datei bnetex.bmx.

Diese öffne ich dann aus der Standard IDE. Der Build Module
button ist grau.

Ich habe keinen C compiler drauf falls das nötig sein sollte, meine
das irgend wann mal gelesen zu haben.

Bitte hilf mir ^^

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus
 

IonPainter

BeitragSo, Sep 18, 2005 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
C:\Programme\BlitzMax\Bin\bmk makemods -r
C:\Programme\BlitzMax\Bin\bmk makemods -d

Hummelpups

BeitragSo, Sep 18, 2005 22:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Failed to compile Blitz_App.c...

Habe es nun umgebaut und als Include benutzt, gibt es
bereits eine referenz über die UDP Befehle?

Habe schon manche aus dem Code herausgefunden.
Funzt aber noch nicht ganz so wie es soll.

Suche gerade nach einem UDP Beispiel was hier irgendwo bestimmt
schon einmal gepostet wurde.


GROOOOOOOOßEEEES EDIIIIT:
Boah ich bin so blööööde, hab nen Befehl vertauscht und schwupps hatta
die Nachrichten nich mehr abgefragt.

P.S.:
vertex ich glaube du willst es inzwischen garnich mehr hören ^^
Du hast mal wieder SPITZEN Leistungen erbracht, das du dann alles
auch noch so ohne weiteres preisgibst setzt der Meterhohen Torte
das Sahnehäubchen auf. Echt suuuuper. Und DUUU nur DUUU
bist schuld das ich nun wieder ne Woche mit Netzwerkscheiß
zubringe und irgend nen kram dahinprogrammiere der im Netzwerk
funzt ^^

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

Vertex

BeitragDo, Okt 27, 2005 17:36
Antworten mit Zitat
Benutzer-Profile anzeigen
So, habe mal wieder dran gebastelt:

Code: [AUSKLAPPEN]
Siehe neue Version


Code: [AUSKLAPPEN]
Framework Pub.BNetEx
Global Stream:TTCPStream

Stream = New TTCPStream

Stream.SetLocalPort(80)
Stream.SetRemoteIP(TNetwork.IntIP("216.239.59.104"))
Stream.SetRemotePort(80)
Stream.Connect()

Stream.WriteLine("GET / HTTP/1.0")
Stream.WriteLine("")
Stream.SendMsg()

While Stream.RecvAvail() = 0
Wend

Stream.RecvMsg()
While Stream.Size()
   DebugLog Stream.ReadLine()
Wend

Stream.Close()
End


Wie man sieht, sind nun UDP und TCP über RecvMsg und SendMsg geregelt. Ist denke ich die bessere Variante alles zu puffern, als direkt zu senden -> geringerer Overhead von Haus aus. Also, ich bin nun fast komplett vom BlitzBasic Konzept weg.

Wenn das Module dann richtig läuft, schreibe ich dann mit HotDog eine deutsche Hilfe dazu. Es kommt dann noch HostIP u.Ä. dazu.

mfg olli
vertex.dreamfall.at | GitHub
  • Zuletzt bearbeitet von Vertex am Sa, Okt 29, 2005 16:01, insgesamt einmal bearbeitet

Hummelpups

BeitragDo, Okt 27, 2005 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
saubere arbeit!

Werde es gleich umbauen, (also mein game) ;D

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus
 

Liger

BeitragSa, Okt 29, 2005 11:04
Antworten mit Zitat
Benutzer-Profile anzeigen
hübsch hübsch. Werds auch mal in den naechsten Tagen ausprobieren.

Vertex

BeitragSa, Okt 29, 2005 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
So, habe mal eine Dokumentation zu den einzelnen Befehle geschrieben:
Code: [AUSKLAPPEN]
gelöscht


Hatte eigentlich erhofft, das mir HotDoc gleich eine fertige Hilfe in \help erstellt, aber es wird alles in einem einzigen Ordner erstellt. Und wie ich bbdoc gebnutze, weiß ich auch nicht. Naja, mal schauen....

Neu ist das Init sowie glaube ich GetState bei TCPStream.

mfg olli
vertex.dreamfall.at | GitHub
  • Zuletzt bearbeitet von Vertex am Fr, Nov 18, 2005 0:58, insgesamt 3-mal bearbeitet

Vertex

BeitragSo, Okt 30, 2005 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
So, habe jetzt mal BNetEx durchgeprüft, und es funzt alles prima...

Hier mal ein paar Beispielcodes:
TCP-Server:
Code: [AUSKLAPPEN]
gelöscht


TCP-Client:
Code: [AUSKLAPPEN]
gelöscht



UDP-Server:
Code: [AUSKLAPPEN]
gelöscht



UDP-Client:
Code: [AUSKLAPPEN]
gelöscht


Netzwerkzeug:
Code: [AUSKLAPPEN]
gelöscht


Ich lade bald ein Module hoch.

mfg olli
vertex.dreamfall.at | GitHub
  • Zuletzt bearbeitet von Vertex am Fr, Nov 18, 2005 0:59, insgesamt 2-mal bearbeitet
 

m a j o r

BeitragSo, Nov 13, 2005 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmm, hab da ein kleines Problem: beim Versuch das Modul zu erstellen bekomm ich immer die Meldung:

Compiling:bnetex.bmx
Compile Error: Identifier 'gethostbyaddr_' not found

Vertex

BeitragMo, Nov 14, 2005 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
So, BNetEx 1.5 ist draußen(Posts oben sind geupdated)

Ist nun Kompatibel mit BMax 1.12. BMax hat ja schönen Bug beim Dereferenzieren von Int-Pointern, so das GetHostIP und GetHostIPs nichtmehr gingen. Ansonsten musste ich noch FreeMem abändern, und bei den Samples statts Brl.System BrlPolledInput verwenden.

m a j o r: gethostbyaddr_ ist in Pub.StdC definiert, schau mal nach, ob es das Module bei dir gibt.

mfg olli
vertex.dreamfall.at | GitHub

Hummelpups

BeitragMo, Nov 14, 2005 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
SRY, verguckt, MAN TOLL Smile
Ich liebe BNetEx Smile Smile Smile Smile könnte dich knutsch0rn
,D

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

Hummelpups

BeitragDi, Nov 15, 2005 9:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Very Happy Very Happy Bit major, das Modul,
wusste nicht wann vertex es kompilieren wollte.
Für die die es nicht so verwenden wollen wie ich sonst
immer (Modul infos löschen und includen ^^) ist
hier das Modul, debug und normal.

http://www.blitz-pasting.net/i...amp;id=641

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

Vertex

BeitragDo, Nov 17, 2005 0:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, sorry, wollte es eigentlich mit Help ausliefern, aber BBDoc kann nur mit Funktionen arbeiten(wer braucht schon Methoden bei OOP Twisted Evil ) und bei HotDoc hätte ich die erstellten Helps eigenhändig nochmal neu verlinken müssen, um sie als standalone ausgeben zu können.

Ansonsten habe ich 2 Fehler dank BigMichi gefunden.
GetState funktioniert anders als gedacht. Gibt auch False (sprich Disconnected) zurück, wenn keine Nachricht vorliegt. Der selbe Spaß mit RecvAvail, sollte eigentlich -1 anstatt 0 zurück geben, falls ein Fehler auftrat.

Update kommt morgen oder übermorgen, dann gleich als Downloadversion.

mfg olli
vertex.dreamfall.at | GitHub
 

gamble

BeitragDo, Nov 17, 2005 8:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Kleine Frage: Reicht ein TUDPStream um sowohl Daten zu versenden und zu empfangen, oder brauche ich noch einen zweiten zum empfangen?

bruZard

BeitragDo, Nov 17, 2005 9:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Wurde schon tausendmal gesagt: Ein Stream reicht.
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

Vertex

BeitragFr, Nov 18, 2005 0:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, anscheinend wurdet ihr alle von Rob irre geleitet Razz Ein UDP- oder TCP-Stream kann senden UND empfangen.

Wie versprochen, gibt es die neue Version 1.61
http://vertex.art-fx.org/bnetex161.zip

Was hat sich geändert:
- RecvAvail: Gibt bei einem Fehler nun -1 zurück, statts 0
- GetState: Gibt nun -1, bei einem Fehler, 0, wenn die Verbindung getrennt wurde und 1, wenn alles OK ist, zurück

Testberichte, vorallem unter Linux und MacOS, sind willkommen.

mfg olli
vertex.dreamfall.at | GitHub
 

m a j o r

BeitragSa, Nov 19, 2005 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
@Vertex: pub.stdc is bei mir vorhanden.
@Imurdoom: Danke für das erstellen des Moduls, geht aber trotzdem irgendwie net:
Code: [AUSKLAPPEN]

Building untitled1
Compiling:untitled1.bmx
flat assembler  version 1.51
3 passes, 1893 bytes.
Linking:untitled1.debug.exe
D:/Programme/BlitzMax/mod/pub.mod/bnetex.mod/bnetex.debug.win32.a(bnetex.bmx.debug.win32.o.b)(code+0x7bf): undefined reference to `gethostbyaddr_'
D:/Programme/BlitzMax/mod/pub.mod/bnetex.mod/bnetex.debug.win32.a(bnetex.bmx.debug.win32.o.b)(code+0xf4d): undefined reference to `shutdown_'
D:/Programme/BlitzMax/mod/pub.mod/bnetex.mod/bnetex.debug.win32.a(bnetex.bmx.debug.win32.o.b)(code+0x1ca6): undefined reference to `recvfrom_'
D:/Programme/BlitzMax/mod/pub.mod/bnetex.mod/bnetex.debug.win32.a(bnetex.bmx.debug.win32.o.b)(code+0x1f62): undefined reference to `sendto_'
D:/Programme/BlitzMax/mod/pub.mod/bnetex.mod/bnetex.debug.win32.a(bnetex.bmx.debug.win32.o.b)(data+0x840): undefined reference to `_brl_stream_TStream_ReadObject'
D:/Programme/BlitzMax/mod/pub.mod/bnetex.mod/bnetex.debug.win32.a(bnetex.bmx.debug.win32.o.b)(data+0x844): undefined reference to `_brl_stream_TStream_WriteObject'
D:/Programme/BlitzMax/mod/pub.mod/bnetex.mod/bnetex.debug.win32.a(bnetex.bmx.debug.win32.o.b)(data+0xd60): undefined reference to `_brl_stream_TStream_ReadObject'
D:/Programme/BlitzMax/mod/pub.mod/bnetex.mod/bnetex.debug.win32.a(bnetex.bmx.debug.win32.o.b)(data+0xd64): undefined reference to `_brl_stream_TStream_WriteObject'
D:/Programme/BlitzMax/mod/pub.mod/bnetex.mod/bnetex.debug.win32.a(bnetex.bmx.debug.win32.o.b)(data+0x168c): undefined reference to `_brl_stream_TStream_ReadObject'
D:/Programme/BlitzMax/mod/pub.mod/bnetex.mod/bnetex.debug.win32.a(bnetex.bmx.debug.win32.o.b)(data+0x1690): undefined reference to `_brl_stream_TStream_WriteObject'

Process complete


Crying or Very sad

Hummelpups

BeitragSa, Nov 19, 2005 16:17
Antworten mit Zitat
Benutzer-Profile anzeigen
gethostbyadress ist eine c funktion meine ich wrnn ich mich richtig
entrsinnen knn.

vertex hast du de datei beigelegt? bei funzt es eins a.

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus
 

gamble

BeitragSa, Nov 19, 2005 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab da mal ein kleines Problem Wink Ich versuche jetzt schon seit einigen Tagen mein altes Server-Query Programm in BMax umzusetzen. Hatte es mit dem alten BNet schon hinbekommen, bei BNetEx klappt aber nicht mehr alles. Die Serverinfos und die Spieler bekomme ich ohne Probleme, nur bei den Regeln klappt gar nichts mehr. Ich habe zwischenzeitlich schon gedacht, dass Protokoll habe sich geändert. Dann habe ich mal Blitz3D angeworfen und den BMax code portiert - und es geht ohne Probleme.

Erstmal der BB Code:

BlitzBasic: [AUSKLAPPEN]
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

Function rzts$(stream)
Local val$
Local byte%
While True
byte = ReadByte(stream)
If byte = 0 Then Exit
val = val + Chr(byte)
Wend
Return val
End Function

Global ip = INT_IP(\"217.24.217.106\")
Global port = 27000
Global challenge%

udp = CreateUDPStream()

WriteByte udp,$FF
WriteByte udp,$FF
WriteByte udp,$FF
WriteByte udp,$FF
WriteByte udp,$57
SendUDPMsg udp,ip,port

While True

If RecvUDPMsg(udp)

ReadInt udp
ReadByte udp
challenge = ReadInt(udp)

Exit

End If

Wend

WriteByte udp,$FF
WriteByte udp,$FF
WriteByte udp,$FF
WriteByte udp,$FF
WriteByte udp,$56
WriteInt udp,challenge
SendUDPMsg udp,ip,port

While True

If RecvUDPMsg(udp)

Print ReadInt(udp)
Print Chr(ReadByte(udp))
rules = ReadShort(udp)

For i = 1 To rules

name$ = rzts(udp)
value$ = rzts(udp)

Print name$ + \" = \" + value$

Next

Exit

End If

Wend

WaitKey

CloseUDPStream(udp)


Der Code arbeitet so wie er soll und am Ende bekommt man die Regeln ausgegeben, die für den Server gelten. Nun der BMax Code mit BNetEx:

BlitzMax: [AUSKLAPPEN]
Function rzts:String(stream:TUDPStream)
Local val:String
Local rByte:Byte
While True
rByte = stream.ReadByte()
If rByte = 0 Then Exit
val = val + Chr(rByte)
Wend
Return val
End Function

Global stream:TUDPStream
stream = New TUDPStream
stream.Init()
stream.SetRemoteIP(TNetwork.IntIP(\"217.24.217.106\"))
stream.SetRemotePort(27000)
stream.SetLocalPort(27000)

Global challenge:Int

stream.WriteByte($FF)
stream.WriteByte($FF)
stream.WriteByte($FF)
stream.WriteByte($FF)
stream.WriteByte($57)
stream.SendMsg()

While True

If stream.RecvAvail() Then

stream.RecvMsg()

stream.ReadInt()
stream.ReadByte()
challenge = stream.ReadInt()

Exit

End If

Wend

stream.WriteByte($FF)
stream.WriteByte($FF)
stream.WriteByte($FF)
stream.WriteByte($FF)
stream.WriteByte($56)
stream.WriteInt(challenge)
stream.SendMsg()

While True

If stream.RecvAvail() Then

stream.RecvMsg()

Print stream.ReadInt()
Print Chr(stream.ReadByte())
Local rules:Short = stream.ReadShort()

For Local i=1 To rules

Local name:String = rzts(stream)
Local value:String = rzts(stream)

Print name + \" = \" + value

Next

Exit

End If

Wend

stream.Close()


Mit dem BMax Code bekomme ich nur 0 ausgegeben, obwohl die Anfrage an den Server exakt die selbe ist wie im BB Code.

Was ist da los?

Hummelpups

BeitragSa, Nov 19, 2005 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du mein Modul benutzt was ich kompilierte:

Da gab es glaube ich noch ein Problem mit
RecvAvail.

Dein seit einige Tagen sagt mir, dass du noch das alte BNE benutzt.

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

Gehe zu Seite Zurück  1, 2, 3, ... 11, 12, 13  Weiter

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group