Hey
Möchte ein TCPChat ohne Server machen, dh. die Nachricht geht sofort an den Empfänger.
Hier mein Skript, dass etwas schreibt:
Spoiler anzeigen
TCPStartup()
MsgBox(0,0,_ConnectTo("84.166.120.203",8080,"Hey."))
[/autoit] [autoit][/autoit] [autoit]Func _ConnectTo($ip,$port,$quest)
$t=TimerInit()
Do
$Socket_Connect = TCPConnect($ip,$port)
Until $Socket_Connect <> -1 OR TimerDiff($t) > 5000
If $Socket_Connect=-1 Or $Socket_Connect=0 Then Return "Error:Die Verbindung zum PC konnte nicht hergestellt werden."
$sendedBytes = TCPSend($Socket_Connect,$quest)
If $sendedBytes = 0 Then Return "Error:Das Paket konnte nicht gesendet werden."
TCPCloseSocket($Socket_Connect)
Return True
EndFunc
Func _ListenTo($ip,$port)
$Socket_Listen = TCPListen($ip,$port)
$acceptedSocket = TCPAccept($Socket_Listen)
If $acceptedSocket <> -1 Then
$receivedData = TCPRecv($acceptedSocket, 1024)
TCPCloseSocket($acceptedSocket)
Return $receivedData
EndIf
Return ""
EndFunc
TCPShutdown()
[/autoit]
Und hier der, der auf die Nachricht wartet:
Spoiler anzeigen
TCPStartup()
While 1
$quest=_ListenTo("79.206.101.108",8080)
If $quest<>"" Then MsgBox(0,0,$quest)
WEnd
Func _ConnectTo($ip,$port,$quest)
$t=TimerInit()
Do
$Socket_Connect = TCPConnect($ip,$port)
Until $Socket_Connect <> -1 OR TimerDiff($t) > 5000
If $Socket_Connect=-1 Or $Socket_Connect=0 Then Return "Error:Die Verbindung zum PC konnte nicht hergestellt werden."
$sendedBytes = TCPSend($Socket_Connect,$quest)
If $sendedBytes = 0 Then Return "Error:Das Paket konnte nicht gesendet werden."
TCPCloseSocket($Socket_Connect)
Return True
EndFunc
Func _ListenTo($ip,$port)
$Socket_Listen = TCPListen($ip,$port)
$acceptedSocket = TCPAccept($Socket_Listen)
If $acceptedSocket <> -1 Then
$receivedData = TCPRecv($acceptedSocket, 1024)
TCPCloseSocket($acceptedSocket)
Return $receivedData
EndIf
Return ""
EndFunc
TCPShutdown()
[/autoit]
Thx4Help