Kleiner LAN-Chat
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Kleiner LAN-Chat
Dies ist einfach nur ein kleiner LAN-Chat mit Server und Client (wer hätte es gedacht). Schauts euch mal an:
http://keykon.ke.ohost.de/daten/chat.zip Zip,33KB
Viel Spaß! Würde mich über Feedback freuen
KeyKon
http://keykon.ke.ohost.de/daten/chat.zip Zip,33KB
Viel Spaß! Würde mich über Feedback freuen
KeyKon
Zuletzt geändert von KeyKon am 02.11.2007 00:27, insgesamt 1-mal geändert.
(\/) (°,,,°) (\/)
- Blackskyliner
- Beiträge: 532
- Registriert: 28.07.2005 00:54
- Wohnort: /home/Blackskyliner/
Nicht schlecht, des mit der Ausgabe ist nett gemacht :). Ich mache zurzeit auch einen Chat aber wird bisschen grösser ausgelegt sein ;)
Achja und mit der Farbe gibts da noch fehler... ich hatte z.B. fie Farbe Schwarz obwohl ich Grün ausgewählt hatte...
WinXP SP2 (Ich hasse dieses System...)
Hab beim FarbSelecter mit ENTER bestätigt.
Achja und mit der Farbe gibts da noch fehler... ich hatte z.B. fie Farbe Schwarz obwohl ich Grün ausgewählt hatte...
WinXP SP2 (Ich hasse dieses System...)
Hab beim FarbSelecter mit ENTER bestätigt.
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
-
- Beiträge: 3
- Registriert: 04.07.2013 18:40
Re: Kleiner LAN-Chat
Tagchen,
Bin noch relativ neu was das Thema PB angeht und hab großes Interesse einen LAN Chat zu schreiben. Drum hole ich diese alte Kamelle hoch. Würdest du (Threadersteller) mir eventuell Einblicke in deinen Source Code gewähren? Das wäre super. Hoffe das du noch aktiv bist.
Bin noch relativ neu was das Thema PB angeht und hab großes Interesse einen LAN Chat zu schreiben. Drum hole ich diese alte Kamelle hoch. Würdest du (Threadersteller) mir eventuell Einblicke in deinen Source Code gewähren? Das wäre super. Hoffe das du noch aktiv bist.
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Re: Kleiner LAN-Chat
Puh, also den 8 Jahre alten Code möchte ich dir ungern antun, da war ich noch ganz frisch beim Programmieren und das Ganze war ein ziemliches Gepfriemel, mal ganz davon abgesehen, dass es wohl im aktuellen PB nur mit seeehr vielen Änderungen wieder zum Leben erweckt werden kann.
Prinzipiell ist so ein Chat, wenn man absolut keinen Wert auf Komfort legt aber recht einfach zu machen, vor allem mit einem dedicated Server, wie in diesem Fall.
Ich gugg gerne mal in meinem Archiv ob ich was Kleines finde, ich hab mich nämlich durchaus viele Male mit solchen Netzwerk-Geschichten beschäftigt!
LG KeyKon
Prinzipiell ist so ein Chat, wenn man absolut keinen Wert auf Komfort legt aber recht einfach zu machen, vor allem mit einem dedicated Server, wie in diesem Fall.
Ich gugg gerne mal in meinem Archiv ob ich was Kleines finde, ich hab mich nämlich durchaus viele Male mit solchen Netzwerk-Geschichten beschäftigt!
LG KeyKon
(\/) (°,,,°) (\/)
-
- Beiträge: 3
- Registriert: 04.07.2013 18:40
Re: Kleiner LAN-Chat
Hey super, vielen Dank
Da bin ich mal gespannt
Da bin ich mal gespannt
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Re: Kleiner LAN-Chat
So, hier mal so ziemlich das Abgespeckteste was geht.
Ist aber im Prinzip sehr unschön, also seh es bitte nur als Grundlagenerklärung, wenn du was umfangreicheres machst solltest du auf einige Sachen achten:
Server:
Client:
Bei Fragen immer her damit, vll bastel ich auch mal wieder etwas, was einem etwas höheren Standard genügt...
LG KeyKon
Ist aber im Prinzip sehr unschön, also seh es bitte nur als Grundlagenerklärung, wenn du was umfangreicheres machst solltest du auf einige Sachen achten:
- -Frontend und Backend sollten durch Thread getrennt laufen
-Es müssen beim Netzwerkverkehr, gerade wenn viel Aufkommen zu erwarten ist, saubere Packages geschnürt und verschickt werden, da mehrere im Buffer liegen könnten und getrennt werden müssen
-Beim Fenster-Design sollte man Konstanten verwenden um den Überblick zu behalten
Server:
Code: Alles auswählen
EnableExplicit
InitNetwork()
#BUFFERSIZE = 1024
Define *receiveBuffer = AllocateMemory(#BUFFERSIZE)
Define receivedLen
NewList Users.i()
If Not CreateNetworkServer(0,12345)
Debug "FailCreation"
End
EndIf
OpenConsole()
PrintN("Server up and running!")
Repeat
Select NetworkServerEvent()
Case #PB_NetworkEvent_Connect
PrintN("New User")
AddElement(Users())
Users() = EventClient()
Case #PB_NetworkEvent_Disconnect
PrintN("Lost User")
ForEach Users()
If Users() = EventClient()
DeleteElement(Users())
Break
EndIf
Next
Case #PB_NetworkEvent_Data
Print("Message - ")
receivedLen = ReceiveNetworkData(EventClient(),*receiveBuffer,#BUFFERSIZE)
If receivedLen > 0
PrintN(PeekS(*receiveBuffer,receivedLen))
ForEach Users()
If Users() <> EventClient()
SendNetworkData(Users(),*receiveBuffer,receivedLen)
EndIf
Next
Else
PrintN("Fail")
EndIf
Default
Delay(5)
EndSelect
ForEver
Code: Alles auswählen
EnableExplicit
#BUFFERSIZE = 1024
Define *receiveBuffer = AllocateMemory(1024)
Define *sendBuffer
Define cid
Define name.s = "KeyKon2"
Define sendText.s
InitNetwork()
OpenWindow(0,0,0,640,480,"MiniChat",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
ListIconGadget(0,10,10,620,430,"Chat",619)
StringGadget(1,10,450,620,20,"")
AddKeyboardShortcut(0,#PB_Shortcut_Return,0)
cid = OpenNetworkConnection("127.0.0.1",12345)
If cid = 0
Debug "FailConnection"
End
EndIf
Repeat
Select WaitWindowEvent(5)
Case #PB_Event_CloseWindow
CloseNetworkConnection(cid)
End
Case #PB_Event_Menu
Select EventMenu()
Case 0
If Len(GetGadgetText(1)) > 0 And Len(GetGadgetText(1))+Len(name)+2 < #BUFFERSIZE
sendText = name+": "+GetGadgetText(1)
*sendBuffer = AllocateMemory(Len(sendText))
PokeS(*sendBuffer,sendText)
If SendNetworkData(cid,*sendBuffer,MemorySize(*sendBuffer)) = MemorySize(*sendBuffer)
AddGadgetItem(0,-1,sendText)
SendMessage_(GadgetID(0),#EM_SCROLL,#SB_BOTTOM,0) ;Nach unten scrollen
SetGadgetItemColor(0,CountGadgetItems(0)-1,#PB_Gadget_BackColor,RGB(192,192,192))
SetGadgetText(1,"")
sendText = ""
EndIf
FreeMemory(*sendBuffer)
EndIf
EndSelect
EndSelect
If NetworkClientEvent(cid) = #PB_NetworkEvent_Data
If ReceiveNetworkData(cid,*receiveBuffer,#BUFFERSIZE) > -1
AddGadgetItem(0,-1,PeekS(*receiveBuffer))
SendMessage_(GadgetID(0),#EM_SCROLL,#SB_BOTTOM,0) ;Nach unten scrollen
EndIf
EndIf
ForEver
LG KeyKon
(\/) (°,,,°) (\/)
-
- Beiträge: 3
- Registriert: 04.07.2013 18:40
Re: Kleiner LAN-Chat
vielen Dank
Das hilft mir schon sehr viel weiter, top !
Das hilft mir schon sehr viel weiter, top !
Re: Kleiner LAN-Chat
hi,
mal ne frage... wie genau heißt die schriftart die du in dem chatfenster verwendet hast?
mfg Moxl
mal ne frage... wie genau heißt die schriftart die du in dem chatfenster verwendet hast?
mfg Moxl
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Re: Kleiner LAN-Chat
Fixedsys wenn ich mich nicht täusche, die gute alte Schrift von Console und Notepad (bis WinXP)^^
LG KeyKon
LG KeyKon
(\/) (°,,,°) (\/)