Blitz User Chat - BUC

Kommentare anzeigen Worklog abonnieren

Worklogs Blitz User Chat - BUC

Multithreading in BUC?

Donnerstag, 25. November 2010 von Pummelie
An BUC selbst ist in letzter Zeit nicht viel passiert, dafür aber an der Idee.

Ich teste im Moment die Verwendung von FastPointer, mit erstaunlich guten Ergebnissen.
Da kommt der Gedanke nah, das Multithreading für BUC zu nutzen.
Jedenfalls beim Server wird dieses auch (testweise) vorkommen.

Ein kleines (Test-)Nebenprojekt von mir (Nur kleine Punkte, die man in einer 800x600 großen 2D Welt steuern kann), was ich bald zum testen raus gegen werden, empfängt alle Daten (Koordinate, Spieler usw...) per TCP. Das ganze in Echtzeit. Ähnlich wie bei UDP wird das Prog beim senden und empfangen dabei nicht angehalten, da der ganze Netzkram vom neben Thread abgehalten wird, dieser wird dabei auch nur passiv gesteuert (keine Netzbefehle im Main-Thread, bei Koordinatenänderung wird automisch gesendet).

Es passiert noch was...

Mittwoch, 17. November 2010 von Pummelie
Tja, ich habe zwar hier schon ein Weilchen nix mehr geschrieben, das muss aber nicht heißen, das nicht kräftig an BUC gearbeitet wurde Wink

Der TCP-Bereich des Server's ist so gut wie fertig, es muss nurnochhgetestet und verbessert werden - der UDP-Bereich wird jetzt von Count-Doku anschließen.
Beim Clienten hat sich in meinem Bereich so gut wie nichts getan, dagegen arbeitet man auf Grafischer Seite fleißig an der Oberfläche Smile


Beim Host System stehe ich momentan vor der Wahl, entweder ich verwende das System, das jeder Client sich zum Masterserver verbinden:
user posted image

oder aber, ich lasse es über Getway's laufen, je nach Clientanzahl, über eine variable Menge... :
user posted image

Der Vorteil der Getway's liegt auf der Hand ... - das ganze System verteilt die Last, und ein flüssigeres Chatten ist bei mehreren Clients möglich - Die Masterserver Methode dagegen ist nicht so komplex...
--
Wenn ihr der Entscheidung beitragen wollt, könnt ihr gerne einen Kommentar dazu posten...

Und es kommt immer ein bisschen was dazu :D

Donnerstag, 4. November 2010 von Pummelie
Ja, es geht weiter, diesmal gibt es ein bisschen was über die Windows Oberfläche zu sagen.
Diese läuft vollkommen selbst gestaltbar in einen *.bcr-Script ab.
Hier ein kleines Beispiel, zum erstellen eines Fensters, und dem setzen eines Label's auf dieses:
Code: [AUSKLAPPEN]
CreateWin
Test Fenster
400
300
DSK
DSK
0
1

CreateLabel
Dies ist ein Testlabel
400
14


Im Grunde geht die Oberflächengestaltung dem Ende zu, und es dauert nicht mehr lang, und das lustige Netzwerk-Zeug's ist an der Reihe Very Happy

Eine kleine Übersicht über die eingebauten TCP funktionen, könnt ihr hier lesen:
Code: [AUSKLAPPEN]
Byte:Befehl:
1    Nachricht empfangen und zu jedem Senden
2    Verschlüsselte nachricht empfangen, und zu jedem senden
3    Nachricht empfangen und an bestimmte Person senden
4    Verschlüsselte Nachricht empfangen und an bestimmte Personen senden
5    Channelliste senden
6    Nutzer dem Channel hinzufügen
7    Nutzer dem Channel abziehen
8    Channel erstellen
9    Channel löschen
10   Infos über einen Nutzer abfragen
11   Eigenen Rang abfragen
12   Rang eines Nutzers ändern
13   Den Chat verlassen
14   Abfragen, ob Dateiübertragung erlaubt ist
15   Einen Dateitransfer beantragen
16   Bytes (anzahl) an bestimmten Nutzer übertragen
17   ServerDatum abfragen
18   ServerZeit abfragen
19   aktuelle Programmversion abfragen
20   Einloggen (Nutzname und Passwort senden) um Chatrechte zu bekommen


Ansonsten, gibt es ein paar Symbole zu "bestaunen" die im Programm vorläufig verwendet werden:

Ränge:
user posted image user posted image user posted image user posted image user posted image

Ping-Symbol für die Windows Oberfläche:
user posted image user posted image user posted image user posted image user posted image user posted image

Smilys made by Count-Doku, gibt es auch schon, doch weiß ich jetzt nicht, ob ich die schon zeigen darf, darum lass ci hes erstmal Wink

Es geht weiter...

Dienstag, 2. November 2010 von count-doku
Hallo!

Heute hat Pummelie an der WinGUI gearbeitet und das Scriptsystem fertig gestellt.
Dieses umfasst nun:
-Speichern aller Namen und ihres Wertes aus einer .bcs Datei in einen Type
-GetVar -- Auslesen des Wertes zu einem Namen
-RenameVar -- Umbenennen eines Namens
-ChangeVar -- Ändern eines Wertes
-CreateVar -- manuelles Hinzufügen einer Variable
-Runscript -- Ausführen einer .bcr Datei.


Ich habe die Grafischer Oberfläche (quasi nur GUI) abgeschlossen.
Gadgets:
-Panel, einfacher farbiger Hintergrund
-Button
-RadioButton, kann man Gruppen zu ordnen, in jeder Gruppe maximal einer aktiv
-CheckBox
-TextField, mit blinkendem Cursor
-Labels, ein einfacher Text


Der Button hat 3Bilder, die automatisch der Textgröße angepasst werden,
normal,zeigen und klicken.

Der Radiobutton kriegt wenn er aktiviert ist einen 2farbigen Punkt und die CheckBox einen grünen Haken.

Das Textfeld besteht aus 2Bildern, die auch an die Textgröße angepasst werden.
Es gibt ein Bild für normal und eins für gerade am Schreiben.

Ein Bild sagt mehr als 1000 Worte:
user posted image

Und hier ein Ausschnitt einer .bcs Datei:
Code: [AUSKLAPPEN]
;Gui elemente
GUI_butnormal = button_normal.png
GUI_butover = button_over.png
GUI_butclick = button_clicked.png
GUI_buttext = 0

GUIblocktime = 100
GUIblinktime = 500


Bis zum nächsten Eintrag,
count-doku Very Happy

PS. Ich werde trotz diesem neuen Projekt an Boatrace weiterarbeiten. Wink

In den Startlöchern

Sonntag, 31. Oktober 2010 von Pummelie
Was schon ein Weilchen geplant war, wird jetzt einfach vorgezogen.
Nach BlitzUDP und BlitzTCP sollte das Gemeinschaftsprojekt von Count-Doku und mir folgen.
Nun da wir es als sinnlos anerkannten, BlitzTCP noch zu erstellen, wobei dessen Neuerungen doch eh in dieses Gemeinschaftsprojekt eingeflossen wären, starten wir es einfach Heute Smile

Bei diesem Gemeinschaftsprojekt handelt es sich um einen Chat der die Features von BlitzUDP und BlitzTCP verbindet.
user posted image

Ein paar Fakten:
Code: [AUSKLAPPEN]
- Es wird so wenig wie möglich Hardcode geben, fast jeden Text kann man in den eigen's dafür angelegten *.bcs Dateien verändern
- Es kommt ein Scriptsystem zum Einsatz, mit dem der geneigte Nutzer sich sein Programm ein wenig Gestalten oder Aufwerten kann
- Man kann zwischen Windows Gui (BlitzTCP) und Grafischer Oberfläche (BlitzUDP) wählen
- UDP und TCP kommen beide im Verbund zum Einsatz, genaueres verraten wir aber noch nicht...
- Screens gibt es noch nicht, es kann aber nichtmehr lange dauern, bis hier die ersten auftauchen
- Ein Teilnehmer kann nicht wie es in BlitzUDP der Fall war einen Server eröffnen, das geht absofort alles über pummelie.de
- Es kommt ein Channelsystem zum Einsatz