接続しているソケットにデータを送信します。
TCPSend ( mainsocket, data )
パラメータ
mainsocket | TCPConnect関数によって返される接続しているソケットの識別子(ソケットID) |
data | 接続しているソケットに送信するバイナリ/文字列 |
返し値
成功 | 接続しているソケットに送信したbyte数を返します。 |
失敗 | 0を返し、@errorを設定します。 |
@error: | WindowsAPIのWSAGetErrorの返し値(MSDNを参照)。 |
注意
なし。
関連
TCPStartup, TCPConnect, TCPListen, TCPTimeout (Option)
例
Opt('MustDeclareVars', 1)
;==============================================
;==============================================
;クライアント側! サーバー開始後、実行すること!!!!!!!!!!!!!!!
;==============================================
;==============================================
Example()
Func Example()
; 再利用可能な情報を設定
;--------------------------
Local $ConnectedSocket, $szData
; $szIPADDRESSにサーバーの位置を設定。PC名をIPアドレスに変更する
; Local $szServerPC = @ComputerName
; Local $szIPADDRESS = TCPNameToIP($szServerPC)
Local $szIPADDRESS = @IPAddress1
Local $nPORT = 33891
; TCPサービスを開始
;==============================================
TCPStartup()
; 接続を表す変数を初期化
;==============================================
$ConnectedSocket = -1
;IPとPORT 33891を使用してサーバーに接続を試みる
;=======================================================
$ConnectedSocket = TCPConnect($szIPADDRESS, $nPORT)
; エラーが起きた場合はエラー内容を表示
If @error Then
MsgBox(4112, "Error", "TCPConnect failed with WSA error: " & @error)
; エラーが無い場合はサーバーに送るデータを
; 入力する入力ボックスのループへ
Else
;サーバーに送るデータを入力するための無限ループ
While 1
; データ送信用入力ボックス
$szData = InputBox("Data for Server", @LF & @LF & "Enter data to transmit to the SERVER:")
; 入力ボックスがキャンセルされた場合、空欄のままの場合は無限ループを抜ける
If @error Or $szData = "" Then ExitLoop
; $szData...にデータが入っているはずなので、接続しているソケットを使用して送信を試みる
TCPSend($ConnectedSocket, $szData)
; 送信が@errorが"失敗"の場合、ソケットが接続していない
;----------------------------------------------------------------
If @error Then ExitLoop
WEnd
EndIf
EndFunc ;==>Example