在套接字(socket)連接上發(fā)送數(shù)據(jù).
TCPSend ( 主套接字, 數(shù)據(jù) )
主套接字 | 由 TCPConnect 函數(shù)返回連接套接字標(biāo)識(shí)符. |
數(shù)據(jù) | 發(fā)送的二進(jìn)制數(shù)據(jù)/字符串. |
成功: | 返回連接套接字發(fā)送的字節(jié)數(shù)量. |
失敗: | 返回 0, 設(shè)置 @error. |
@error: | 為 windows API WSAGetError 的返回值 (請(qǐng)查閱 MSDN). |
;==============================================
;==============================================
;客戶端! 啟動(dòng)服務(wù)器后再啟動(dòng)我!!!!!!!!!!!!!!!
;==============================================
;==============================================
Example()
Func Example()
; 啟動(dòng) TCP
服務(wù)
;==============================================
TCPStartup()
;
設(shè)置一些可重復(fù)使用的的信息
;--------------------------
Local
$ConnectedSocket,
$szData
; 設(shè)置
$szIPADDRESS 到服務(wù)器. 我們將改變 PC 名稱為一個(gè) IP 地址
;
Local $szServerPC = @ComputerName
;
Local $szIPADDRESS = TCPNameToIP($szServerPC)
Local
$szIPADDRESS =
@IPAddress1
Local
$nPORT =
33891
;
初始化表示連接的變量
;==============================================
$ConnectedSocket = -1
;嘗試 IP 地址和端口
33891 連接到服務(wù)器
;=======================================================
$ConnectedSocket = TCPConnect($szIPADDRESS, $nPORT)
;
如果有錯(cuò)誤...則顯示這個(gè)錯(cuò)誤
If
@error Then
MsgBox(4112, "錯(cuò)誤", "TCPConnect 失敗與出現(xiàn) WSA 錯(cuò)誤: " & @error)
; 如果沒有錯(cuò)誤, 則循環(huán)發(fā)送輸入框數(shù)據(jù)到服務(wù)器.
Else
;無(wú)限循環(huán)發(fā)送要求的數(shù)據(jù)到服務(wù)器
While 1
; 傳輸數(shù)據(jù)的輸入框
$szData =
InputBox("用于服務(wù)器的數(shù)據(jù)", @LF & @LF & "輸入的數(shù)據(jù)傳輸?shù)椒?wù)器:")
; 如果取消輸入框或輸入框空白, 則退出無(wú)限循環(huán)
If @error
Or $szData
= "" Then ExitLoop
; 我們應(yīng)該貯存數(shù)據(jù)到 $szData... 以便通過連接的套接字發(fā)送.
; 轉(zhuǎn)換 AutoIt 原 UTF-16 道 UTF-8
TCPSend($ConnectedSocket, StringToBinary($szData, 4))
; 如果遇到發(fā)送失敗 @error, 則斷開連接的套接字
;----------------------------------------------------------------
If @error
Then ExitLoop
WEnd
EndIf
EndFunc ;==>Example
provider with jb51.net (unicode) |