Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

Socket.Write

Writes text to the socket.

Component Version macOS Windows Linux Server iOS SDK
Socket 3.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "Socket.Write"; SocketID; Text { ; Encoding } )   More

Parameters

Parameter Description Example Flags
SocketID The socket ID received by Socket.Connect function. $sock
Text The text to send. "Hello World"
Encoding The text encoding for text parameter.
Default is native.
Possible encoding names: ANSI, ISO-8859-1, Latin1, Mac, Native, UTF-8, DOS, Hex, Base64 or Windows. More listed in the FAQ.
"UTF8" Optional

Result

Returns the number of bytes written or an error message.

Description

Writes text to the socket.
Returns number of bytes sent. It may take a few milliseconds till data arrives on the other socket.

Result is -1 if socket can't write. See Socket.LastError for error code.
Changed in v10.4 to return error if socket is closed or disconnected instead of -1.

Examples

Write something:

MBS( "Socket.Write"; $sock; "Hello World" )

Write something with DOS text encoding:

MBS( "Socket.Write"; $sock; "Umlauts: äöü"; "DOS" )

Connect to a HTTP Server and wait for answer:

Set Variable [$r; Value:MBS("Trace")]
Set Variable [$sock; Value:MBS("Socket.Connect"; TCP Socket::DomainOrIP; 80)]
If [MBS("IsError")]
    Show Custom Dialog ["Error"; $sock]
    Exit Script []
End If
Set Variable [$request; Value:"GET "&TCP Socket::Path&" HTTP/1.0¶Host: "&TCP Socket::DomainOrIP&"¶¶"]
Set Variable [$request; Value:MBS("Text.ReplaceNewline"; $request; 2)]
Set Field [TCP Socket::RequestUsed; $request]
Set Variable [$r; Value:MBS("Socket.Write"; $sock; $request)]
Pause/Resume Script [Duration (seconds): 1]
Set Variable [$data; Value:MBS("Socket.Read"; $sock; 1000)]
Set Variable [$data; Value:MBS("Text.ReplaceNewline"; $data; 1)]
Set Field [TCP Socket::Result; $data]
Set Variable [$r; Value:MBS("Socket.Close"; $sock)]

Send set zero command to scale for MT-SICS (METTLER TOLEDO Standard Interface Command Set):

MBS( "Socket.Write"; $sock; "Z" & Char(13) & Char(10) )

Send print weight command to scale for MT-SICS (METTLER TOLEDO Standard Interface Command Set):

MBS( "Socket.Write"; $sock; "P" & Char(13) & Char(10) )

See also

Release notes

Example Databases

Blog Entries

This function checks for a license.

Created 18th August 2014, last changed 31st August 2020


Socket.SetTimeToLive - Socket.WriteByte