Chat Problem
Verfasst: 09.03.2008 11:32
Hi Leute... Ich programmiere zur Zeit einen Kleinen Chat... Nur jetzt habe ich schon Probleme
... Ich will einen Clienten als Server laufen lassen.
Der soll extra sein... Die ganz normalen Clienten sollen einfach nur zum Chatten geeignet sein. Hier mein Code
Nur bekomme ich es leider nicht gebacken, einen normalen Clienten zu schreiben, denn wenn ich das mit CreateNetworkServer weglasse, funktioniert es nicht... Könnt ihr mir helfen?
Danke schonmal
FoX

Der soll extra sein... Die ganz normalen Clienten sollen einfach nur zum Chatten geeignet sein. Hier mein Code
Code: Alles auswählen
Name$ = InputRequester("", "Geben Sie ihren Nickname ein", "")
If Input$ > ""
a$ + Name$
Else
EndIf
Leer$ = ":" + Space(3)
Input$ = InputRequester("Verbinden...", "", "")
If Input$ > ""
a$ + Input$
Else
EndIf
OpenWindow(0,0,0,685,372, "Ultimative Chat", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))
EditorGadget(2, 0, 0, 560, 170,#PB_Editor_ReadOnly)
SetGadgetColor(2,#PB_Gadget_BackColor,black)
SetGadgetColor(2,#PB_Gadget_FrontColor,65280)
ListViewGadget(3, 570, 0, 110, 370)
SetGadgetColor(3,#PB_Gadget_BackColor,black)
SetGadgetColor(3,#PB_Gadget_FrontColor,255)
StringGadget(0, 0, 180, 460, 180, "")
SetGadgetColor(0,#PB_Gadget_BackColor,black)
SetGadgetColor(0,#PB_Gadget_FrontColor,16777215)
ButtonGadget(1, 470, 310, 90, 40, "Senden")
If InitNetwork() = 0: End: EndIf
Socket.l = CreateNetworkServer(#PB_Any,6000)
If Socket = 0: End: EndIf
#FD_ALL = #FD_READ|#FD_WRITE|#FD_OOB|#FD_ACCEPT|#FD_CONNECT|#FD_CLOSE
WSAAsyncSelect_(Socket, WindowID(0), #WM_NULL, #FD_ALL)
ConnID.l = OpenNetworkConnection(a$,6000)
If ConnID = 0: End: EndIf
AddGadgetItem(3,-1,Name$)
;Main Loop
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
If EventGadget() = 1
Text.s = Name$ + Leer$ + GetGadgetText(0)
SendNetworkData(EventClient(), @Text, Len(Text)+1)
ClearGadgetItemList(2)
EndIf
EndSelect
Select NetworkServerEvent()
Case 1
DisableGadget(1,0) ; user connected, enable sending.
Case 4
DisableGadget(1,1) ; user disconnected, disable sending.
EndSelect
If WaitWindowEvent() = #PB_Event_CloseWindow
End
EndIf
If NetworkClientEvent(ConnID) = 2
Text.s = Space(500)
ReceiveNetworkData(ConnID, @Text, 500)
AddGadgetItem(2,-1,Text)
EndIf
ForEver
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; IDE Options = PureBasic v4.00 (Windows - x86)
; Folding = -
Nur bekomme ich es leider nicht gebacken, einen normalen Clienten zu schreiben, denn wenn ich das mit CreateNetworkServer weglasse, funktioniert es nicht... Könnt ihr mir helfen?
Danke schonmal
FoX