Quote:
Originally Posted by verT!c4L
Btw, vlt musst du den socket auch forken...
|
Ich befinde mich grad in einer meiner Grauzonen,
aber wenn ich mich recht entsinne, muss man
Sockets forken um mehrere Clients daran zu hängen.
Da MSN ja Client No.1 ist, müsste dein Script "Client No.2"
darstellen...
Edit:
Ein angeblich funktionierender TCP Client in Autoit:
(google suche: autoit socket forken)
Quote:
PHP Code:
;------------------------------- ; AutoIt TCP Client made by b2k5 ;------------------------------- #include <GUIConstants.au3> $Form1 = GUICreate("TCPClient", 640, 480) $Edit1 = GUICtrlCreateEdit("", 0, 0, 640, 460, $ES_READONLY + $WS_VSCROLL + $ES_AUTOVSCROLL + $WS_HSCROLL + $ES_AUTOHSCROLL) $Input1 = GUICtrlCreateInput("", 0, 460, 600, 20) $Button1 = GUICtrlCreateButton("Send", 600, 460, 40, 20) $connected = 0 Global $socket Global $sendtxt HotKeySet("{ENTER}", "SendThatShit") GUISetState(@SW_SHOW) GUICtrlSetState($Input1, $GUI_FOCUS) TCPStartup() While 1 $msg = GUIGetMsg() $recv = TCPRecv($socket, 1024) Select Case $msg = $GUI_EVENT_CLOSE If $connected = 1 Then TCPSend($socket, "QUIT :TCPClient exited." & @CRLF) TCPCloseSocket($socket) TCPShutdown() EndIf ExitLoop Case $msg = $Button1 SendThatShit() Case Else If $recv <> "" Then GUICtrlSetData($Edit1, GUICtrlRead($Edit1) & $recv & @CRLF) If StringInStr($recv, "PING") Then $Pingval = StringSplit($recv, " ") $Pong = "PONG :" & $Pingval[2] TCPSend($socket, $Pong & @CRLF) GUICtrlSetData($Edit1, GUICtrlRead($Edit1) & $Pong & @CRLF) ToolTip("Ping? Pong!") Sleep(2000) ToolTip("") EndIf EndIf EndSelect WEnd Exit Func SendThatShit() If WinActive("TCPClient") Then $sendtxt = GUICtrlRead($Input1) GUICtrlSetData($Input1, "") If $sendtxt <> "" Then If $connected = 1 Then If StringInStr($sendtxt, "QUIT") Then TCPSend($socket, $sendtxt & @CRLF) $connected = 0 Else TCPSend($socket, $sendtxt & @CRLF) EndIf Else If StringInStr($sendtxt, "/connect") Then $server = StringSplit($sendtxt, " ") $serversplit = StringSplit($server[2], ":") $ip = TCPNameToIP($serversplit[1]) $port = $serversplit[2] $socket = TCPConnect($ip, $port) If $socket = -1 Then MsgBox(64, "TCPClient", "Connection Failure.") $connected = 0 Else MsgBox(64, "TCPClient", "Connected successfully.") $connected = 1 SendAtConnect() EndIf Else MsgBox(64, "TCPClient", "Not connected.") EndIf EndIf EndIf Else Send("{ENTER}") EndIf EndFunc ;==>SendThatShit Func SendAtConnect() TCPSend($socket, "NICK TCPClient" & @CRLF) TCPSend($socket, 'USER TCPClient "TCPClient" "TCPClient" :TCPClient' & @CRLF) EndFunc ;==>SendAtConnect
|
Man beachte vorallem / keep attention at the parameter:
Quote:
PHP Code:
$recv = TCPRecv($socket, 1024)
|
Vorallem da 1024 bekanntermaßen Standard ist...
Nicht wie bei dir/ wrong parameter:
Quote:
PHP Code:
$rec = TCPRecv($packet,1000000)
|