Netzwerk-Features und Anfragen...

Previous topic - Next topic

trucidare

Dieser Thread soll für mein nächstes großes Projekte dienen.
Schreibt, was Ihr an Netzwerkunterstützung benötigt und wie es aussehen soll und ich werde es in eine große allkönnende Lib zusammenbauen.

Ich fang an :P


UDP


nun seid ihr dran.
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Schranz0r

#1
TCP
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello

Ein "Dialog", wo man sich an einem Server anmelden kann/Server aussuchen kann usw...

Ein http-SERVER (mini, nur dass man halt html Seiten per GLBasic generieren kann - für einen Spieleserver)

Ein Bei-SPIEL!!! Was gaaanz einfaches. Wie wär's mit "Quake in 2D aber ohne Level"? Also - Schießen auf der Wiese.

trucidare

Also html server hab ich ja das proof of concept gedings da. werde den dann in glb umsetzen.
Das Bei-SPIEL hmm ein pong mehr is leider nicht drin :(
aber ich werds für tcp und udp schreiben.

dialog hmm. DDGUI oder an was dachtest du?

nochn vorschlag:

RAW-Socket Befehle für extravagante


@Ocean: ich will ja nichts nachbauen. etwas eigenes das GLB auszeichnet soll es sein.
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Schranz0r

Dann mach :

Code (glbasic) Select
Set_UDP_To_Game()
Get_UDP_From_Game()


Das isses :)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

trucidare

Was der Netzwerk Kram von anderen Sprachen unterscheidet?

Komplettes Kabinet, Einfache Message unterstützung und vieles vieles mehr.

Stand der Dinge:

Raw Socket Befehle (nochnicht alle aber die gängigen ^^)
Kabinet angefangen (erst 3 Befehle)

Aufruf fürs Kabinet dacht ich so:

Code (glbasic) Select

AUTOPAUSE FALSE
LIMITFPS 30


LOCAL SERVER AS tConnection
LOCAL FTP AS tConnection

GLN_Init();
GLN_SelectNetwork(NL_IP);


INPUT iServer$,0,0

IF iServer$ = "s"
SERVER = GLN_CreateTCPServer(6666,"GLBasic","root","GLBasic")
ELSE
FTP = GLN_CreateTCPClient("127.0.0.1",6666,"root","root","GLBasic")
ENDIF


WHILE TRUE
IF SERVER.IsServer
GLN_AcceptTCPConnection(SERVER)

FOR x = 0 TO 15
PRINT SERVER.Clients[x],0,20+10*x
NEXT
ENDIF

PRINT GLN_GetErrorString$(GLN_GetError()),0,0
PRINT buffer$,0,10


SHOWSCREEN
WEND


Na ist das nicht einfach? *g*

Hier noch ein Screenshot von Server (oben) und client (unten)
Der server zeigt alle 16 möglichen Verbindungen an 0 = keine alles drüber = socketnummer; wenn ein client geschlossen wird wird diese position wieder auf 0 gesetzt und kan neu belegt werden.

Client zeigt... Nix ^^



[attachment deleted by admin]
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

Ein Multiplayer Schieß-mich-tot ist einfacher als PONG. Da hat man ja schräge Winkel.
Ausserdem muss man bei PONG auf 2 Spieler reduzieren. Bei Schieß-mich-tot ist's egal. Einfach rein damit.

trucidare

na ich versuch mal hehe.

Ich brauch eine UniqueID. Wie berechnest du sie in deinem Lobby Code?
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

Hmmm... Wie wär's mir RND(0xffffffff) ? :D

trucidare

hmm k
hab momentan die asc werte der login daten + rnd(50000)

aber ich denke da wird sich ganz fix ne zahl kreuzen.
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

trucidare

OOPS ein Doppelpost *verzeiht mir*


RAW-Socket Befehle - DONE
HTTP-Server - 50%
TCP - 35%
UDP - 0%
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Schranz0r

Geilo.. wird dann ne DLL, richtig?
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

trucidare

nööö bleibt rein glb falls jemand verbessern will.
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Schranz0r

Du machst Code öffentlich? :S
Krank/ Auf'm Kopf gefallen/ guten Tag heute ?  :x

:good:
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

trucidare

nach kurzer Pause:


CreateHTTPServer(Type tConnection, "www ordner", "index datei")
CreateTCPServer // erstellt nun ein type in type für clients.
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC