Code: Alles auswählen
OpenConsole()
ConsoleTitle ("Client")
ConsoleColor(2,0)
ConsoleLocate (13,12)
Print ("Bitte gib deinen Chatnamen ein: ")
Name$=Input()
ClearConsole()
PrintN("Willkommen in Thirds Chat")
InitNetwork()
PrintN ("Verbindung zum Netzwerk hergestellt")
ClientConnectionID = OpenNetworkConnection("ip", 600)
If ClientConnectionID=0
ConsoleColor(12,0)
PrintN("Server Offline,Verbindung zum Server nicht hergestellt")
Input()
Else
PrintN("Server Online,Verbindung zum Server hergestellt")
*TCPBuffer = AllocateMemory(1024)
Repeat
Select NetworkClientEvent(ClientConnectionID)
Case 2
TCPBufferLength = ReceiveNetworkData(ClientConnectionID, *TCPBuffer, 1024)
PrintN(""+PeekS(*TCPBuffer,TCPBufferLength))
EndSelect
Inkey$ = Inkey()
Inkey = Asc(Inkey$)
Select Inkey
Case 0
;nix machen
Case 13
PrintN ("")
If Nachricht$ <> "quit"
SendNetworkString(ClientConnectionID, Name$ +" : "+Nachricht$)
Nachricht$ = ""
Else
quit = 1
EndIf
Default
key$ = Left(Inkey$,1)
Nachricht$ + key$
Print(key$)
EndSelect
Delay(10)
Until quit
FreeMemory(*TCPBuffer)
EndIf
CloseConsole()
Endachja hier der code vom server
Code: Alles auswählen
;Server
NewList Client.l()
InitNetwork()
CreateNetworkServer(600)
OpenWindow(0,100,100,500,400,#PB_Window_SystemMenu,"Server")
CreateGadgetList(WindowID())
ButtonGadget(1,390,340,100,20,"Senden")
StringGadget(3, 10, 340, 370, 20, "")
EditorGadget(2, 10, 10, 480, 300)
Buffer = AllocateMemory(1000)
Repeat
;Fenster
EventID = WindowEvent()
If EventID = #PB_Event_CloseWindow
quit = 1
EndIf
If EventID = #PB_Event_Gadget
If EventGadgetID()=1
Text$ = GetGadgetText(3)
ForEach Client()
SendNetworkString(Client(), "SERVER : " +Text$)
Next
SetGadgetText(3, "")
EndIf
EndIf
If EventID = 0
Delay(100)
EndIf
;Server
SEvent.l = NetworkServerEvent()
;If SEvent
ClientID = NetworkClientID()
Select SEvent
Case 1
AddGadgetItem(2, -1, "NEUER CLIENT ONLINE")
AddElement(Client())
Client() = ClientID
;SendNetworkString(ClientID, "EIN NEUER CLIENT IST ONLINE")
;1: Ein neuer Client wurde mit dem Server verbunden
Case 2
;MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0)
ReceiveNetworkData(ClientID, Buffer, 1000)
AddGadgetItem(2, -1, PeekS(Buffer))
ForEach Client()
If Client() <> ClientID
SendNetworkString(Client(), PeekS(Buffer))
EndIf
Next
;MessageRequester("Info", "String: "+PeekS(Buffer), 0)
; 2 : Roh-Daten wurden empfangen (können mittels ReceiveNetworkData() gelesen werden,)
;Case 3
;MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a file via the network !", 0)
;ReceiveNetworkFile(ClientID, "C:\TEST_Network.ftp3")
; 3 : Eine Datei wurde empfangen (kann mittels ReceiveNetworkFile() gelesen werden)
Case 4
MessageRequester("Member offline", "Client "+Str(ClientID)+" Hat die verbindung unterbrochen ", 0)
EndSelect
Until quit=1
FreeMemory(Buffer)
End