Verfasst: 14.06.2005 20:24
Is eigentlich ne API-Function, also gehört nen '_' dahinter 

Code: Alles auswählen
NewList Clients.l()
AddElement Clients.l()
Clients() = clientnummer1
AddElement Clients.l()
Clients() = clientnummer2
;da fügst du halt Clients hinzu
;dann...
ForEach Clients()
SendNetowrkString(Clients(),undsoweiter)
Next
Code: Alles auswählen
OpenConsole()
ConsoleTitle("Server")
ConsoleColor (15, 0)
If InitNetwork() = 0
PrintN("Konnte Netzwerk nicht finden !")
End
EndIf
Port = 6832
Buffer = AllocateMemory(1000)
If CreateNetworkServer(Port)
PrintN("Server wurder erstellt (Port "+Str(Port)+").")
Repeat
SEvent.l = NetworkServerEvent()
If SEvent
ClientID = NetworkClientID()
Select SEvent
Case 1
PrintN("Ein neuer Client hat sich angemeldet !")
Case 2
RtlZeroMemory_(Buffer, 1000)
ReceiveNetworkData(NetworkClientID(), Buffer, 1000)
PrintN(""+ PeekS(Buffer))
NewList Clients.l()
AddElement Clients.l()
Clients() = clientnummer1
AddElement Clients.l()
Clients() = clientnummer2
ForEach Clients()
SendNetowrkString(Clients(),undsoweiter)
Next
Case 3
PrintN("Client "+ Str(ClientID) + " hat die Verbindung beendet...")
EndSelect
EndIf
Until Quit = 1
PrintN("Klicke zum beenden des Servers.")
Input()
CloseNetworkServer()
Else
PrintN("Konnte Server nicht erstellen (Wird der Port bereits benutzt ?).")
EndIf
End
Code: Alles auswählen
;###########
NewList Clients.l()
;##############
OpenConsole()
ConsoleTitle("Server")
ConsoleColor (15, 0)
If InitNetwork() = 0
PrintN("Konnte Netzwerk nicht finden !")
End
EndIf
Port = 6832
Buffer = AllocateMemory(1000)
If CreateNetworkServer(Port)
PrintN("Server wurder erstellt (Port "+Str(Port)+").")
Repeat
SEvent.l = NetworkServerEvent()
If SEvent
ClientID = NetworkClientID()
Select SEvent
Case 1
PrintN("Ein neuer Client hat sich angemeldet !")
;#################
AddElement(Clients())
Clients() = NetworkClientID()
;###################
Case 2
RtlZeroMemory_(Buffer, 1000)
ReceiveNetworkData(NetworkClientID(), Buffer, 1000)
PrintN(""+ PeekS(Buffer))
Case 3
PrintN("Client "+ Str(ClientID) + " hat die Verbindung beendet...")
EndSelect
;#################
;Da kannst du auch machen, was immer du willst.
If Random(200) = 0 ;Per Zufall ermitteln
ForEach Clients()
SendNetowrkString(Clients(),"Ich bin lustig! :)")
Next
EndIf
;####################
EndIf
Until Quit = 1
PrintN("Klicke zum beenden des Servers.")
Input()
CloseNetworkServer()
Else
PrintN("Konnte Server nicht erstellen (Wird der Port bereits benutzt ?).")
EndIf
End
Code: Alles auswählen
OpenConsole()
ConsoleTitle("Client")
ConsoleColor (15, 0)
If InitNetwork() = 0
PrintN("Kein Netzwerk gefunden!")
End
EndIf
Port = 6832
ConnectionID = OpenNetworkConnection("127.0.0.1", Port)
PrintN("Willkommen zu NextConextion!")
PrintN("")
Delay(2000)
Print("Verbindung wird hergestellt")
Delay(1000)
Print(".")
Delay(1000)
Print(".")
Delay(1000)
Print(".")
Delay(1000)
PrintN(".")
PrintN("")
If ConnectionID
PrintN("Client ist verbunden mit Server...")
Delay(1000)
ClearConsole ()
PrintN("Willkommen zum Chat!")
PrintN("")
Repeat
PrintN("")
string$ = Input ()
SendNetworkString(ConnectionID, String$)
ForEver
Else
PrintN("Konnte Server nicht finden!")
EndIf
Input ()
End
Code: Alles auswählen
RtlZeroMemory_(Buffer, 1000)
ReceiveNetworkData(NetworkClientID(), Buffer, 1000)
PrintN(""+ PeekS(Buffer))
Code: Alles auswählen
Length.l = ReceiveNetworkData(NetworkClientID(), Buffer, 1000)
PrintN(PeekS(Buffer, Length))
Code: Alles auswählen
ForEach Clients()
If Clients() <> ClientID
SendNetworkString(Clients(), PeekS(Buffer, Length))
EndIf
Next
Code: Alles auswählen
PrintN(PeekS(Buffer, Length))