Function Reference


TCPConnect

Create a socket connected to an existing server.

TCPConnect ( IPAddr, port )

Parameters

IPAddr Internet Protocol dotted address(IpV4) as "192.162.1.1".
port port on which the created socket will be connected.

Return Value

Success: the main socket identifier.
Failure: -1 or 0 and sets the @error flag to non-zero.
@error: -2 not connected.
1 IPAddr is incorrect.
2 port is incorrect.
10060 Connection timed out.
A connection attempt failed because the connected party did not properly respond after a period of time,
or the established connection failed because the connected host has failed to respond.
See connect timeout example.
Windows API WSAGetLastError return value (see MSDN).

Remarks

This function is used by a client to communicate with the server.

Related

TCPListen, TCPRecv, TCPSend, TCPStartup, TCPTimeout (Option)

Example

Example 1

#include <MsgBoxConstants.au3>
#include <WinAPIError.au3>
; I am the client, start me after the server! (Start first the TCPAccept example script).
Example()
Func  Example()
TCPStartup (); Start the TCP service.
; Register OnAutoItExit to be called when the script is closed.
OnAutoItExitRegister ("OnAutoItExit")
; Assign Local variables the loopback IP Address and the Port.
Local $sIPAddress= "127.0.0.1"; This IP Address only works for testing on your own computer.
Local $iPort= 65432; Port used for the connection.
; Assign a Local variable the socket and connect to a Listening socket with the IP Address and Port specified.
Local $iSocket= TCPConnect ($sIPAddress,$iPort)
; If an error occurred display the error code and return False.
If @error Then
; The server is probably offline/port is not opened on the server.
Local $iError= @error
MsgBox (($MB_ICONERROR+ $MB_SYSTEMMODAL),"","Could not connect, Error code: "&$iError&@CRLF &_WinAPI_GetErrorMessage ($iError))
Return False
Else
MsgBox ($MB_SYSTEMMODAL,"","Connection successful")
EndIf
; Close the socket.
TCPCloseSocket ($iSocket)
EndFunc ;==>Example
Func  OnAutoItExit()
TCPShutdown (); Close the TCP service.
EndFunc ;==>OnAutoItExit

TCPConnect with timeout

#include <MsgBoxConstants.au3>
#include <WinAPIError.au3>
; I am the client, start me after the server no more than 10sec ! (The server script is the TCPAccept example script).
Example()
Func  Example()
Local $sMsgBoxTitle= "AutoItVersion = "&@AutoItVersion
TCPStartup (); Start the TCP service.
; Register OnAutoItExit to be called when the script is closed.
OnAutoItExitRegister ("OnAutoItExit")
; Assign Local variables the loopback IP Address and the Port.
Local $sIPAddress= "127.0.0.1"; This IP Address only works for testing on your own computer.
Local $iPort= 65432; Port used for the connection.
Opt ("TCPTimeout",1000)
Local $nMaxTimeout= 10; script will abort if no server available after 10 secondes
Local $iSocket,$hTimer= TimerInit ()
While 1
; Assign a Local variable the socket and connect to a Listening socket with the IP Address and Port specified.
$iSocket= TCPConnect ($sIPAddress,$iPort)
; If an error occurred display the error code and return False.
If @error = 10060Then
; Timeout occurs try again
$nMaxTimeout-= 1
If $nMaxTimeout<= 0Then
MsgBox (($MB_ICONERROR+ $MB_SYSTEMMODAL),$sMsgBoxTitle,"Could not connect, after "&Int (TimerDiff ($hTimer)/ 1000)&" sec")
Return False
EndIf
ContinueLoop
ElseIf @error Then
; The server is probably offline/port is not opened on the server.
MsgBox (($MB_ICONERROR+ $MB_SYSTEMMODAL),$sMsgBoxTitle,"Could not connect, Error code: "&@error &@CRLF &_WinAPI_GetErrorMessage (@error ))
Return False
Else
MsgBox ($MB_SYSTEMMODAL,$sMsgBoxTitle,"Connection successful after "&Int (TimerDiff ($hTimer)/ 1000)&" sec")
ExitLoop
EndIf
WEnd
; Close the socket.
TCPCloseSocket ($iSocket)
EndFunc ;==>Example
Func  OnAutoItExit()
TCPShutdown (); Close the TCP service.
EndFunc ;==>OnAutoItExit

AltStyle によって変換されたページ (->オリジナル) /