So, jetzt hab ich es fertig, und es geht!
Server
#include <INet.au3>
#include <GuiEdit.au3>
Global $sNamen
$zahl = -1
$zahl1 = $zahl + 1
$File = @ScriptDir & "\Server.ini"
FileDelete($File)
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
;~ Opt("TrayMenuMode",1)
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Serververlauf", 238, 201, 303, 219)
$Edit1 = GUICtrlCreateEdit("", 3, 3, 232, 196, $ES_READONLY+$ES_AUTOHSCROLL)
GUICtrlSetBkColor(-1, 0xFFFFFF)
#EndRegion ### END Koda GUI section ###
$Fenster = False
Dim $ConnectedSocket[999999]
Dim $Namen[999999]
; Startet den TCP Service
;==============================================
TCPStartup()
; Erstellt einen lauschenden "SOCKET"
;==============================================
$MainSocket = TCPListen(@IPAddress1, 31758)
If $MainSocket > -1 Then
MsgBox (0,"","Die Server-Ip ist: " & @IPAddress1)
EndIf
If $MainSocket = -1 Then
$MainSocket = TCPListen(@IPAddress2, 31758)
If $MainSocket > -1 Then
MsgBox (0,"","Die Server-Ip ist: " & @IPAddress2)
EndIf
EndIf
If $MainSocket = -1 Then
$MainSocket = TCPListen(@IPAddress3, 31758)
If $MainSocket > -1 Then
MsgBox (0,"","Die Server-Ip ist: " & @IPAddress3)
EndIf
EndIf
If $MainSocket = -1 Then
$MainSocket = TCPListen(@IPAddress4, 31758)
If $MainSocket > -1 Then
MsgBox (0,"","Die Server-Ip ist: " & @IPAddress4)
EndIf
EndIf
If $MainSocket = -1 Then MsgBox (16,"Error","Es ist ein Verbindungsfehler aufgetreten!")Exit
HotKeySet("!{n}", "_Fenster")
; Warten auf eine Client-Verbindung
;--------------------
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE)
EndSwitch
$ConnectedSocket[$zahl1] = TCPAccept($MainSocket)
If $ConnectedSocket[$zahl1] >= 0 Then
$zahl = $zahl + 1
$zahl1 = $zahl + 1
;~ MsgBox(0, "", "Mein Server - Client verbunden", 1)
$Erhalten = TCPRecv($ConnectedSocket[$zahl], 2048)
$sErhalten = StringSplit($Erhalten, ",")
If $sErhalten[1] = "Name" Then
$Namen[$zahl] = $sErhalten[2]
ElseIf $sErhalten[1] = "NamenSenden" Then
$zahl = $zahl - 1
For $E = 0 To $sErhalten[2]
$E1 = $E + 3
$Namen[$E] = $sErhalten[$E1]
Next
$Status = False
For $F = 0 To $sErhalten[2]
$F1 = $sErhalten[2] + 1
$F2 = $F - 1
If $F = $sErhalten[$F1] Then $Status = True
If $Status = True Then
$ConnectedSocket[$F] = $ConnectedSocket[$F2]
EndIf
Next
EndIf
$sNamen = ""
For $B = 0 To $zahl
$sNamen = $sNamen & $Namen[$B] & "|"
Next
For $C = 0 To $zahl
TCPSend($ConnectedSocket[$C], "Namen|" & $zahl & "|" & $sNamen)
Next
EndIf
For $A = 0 To $zahl
$Erhalten = TCPRecv($ConnectedSocket[$A], 9999)
$sErhalten = StringSplit($Erhalten, ",")
If $Erhalten <> "" Then
$Edit1Read = GUICtrlRead($Edit1)
GUICtrlSetData($Edit1, $Edit1Read & @CRLF & $Erhalten)
$Lines = _GUICtrlEdit_GetLineCount($Edit1)
_GUICtrlEdit_LineScroll($Edit1, 0, $Lines)
For $D = 0 To $zahl
If $sErhalten[1] = "Name" Then
$Namen[$zahl] = $sErhalten[2]
ElseIf $sErhalten[1] = "Nachricht" Then
;~ MsgBox (0,"",$Namen[$D] & "," & $sErhalten[3])
If $Namen[$D] = $sErhalten[3] Then
TCPSend($ConnectedSocket[$D], $Erhalten)
EndIf
EndIf
Next
EndIf
Next
WEnd
Func _Fenster()
If $Fenster = True Then
GUISetState(@SW_HIDE)
ElseIf $Fenster = False Then
GUISetState(@SW_SHOW)
EndIf
EndFunc ;==>_Fenster