Topics   All   MacOS (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Deprecated   Guides   Examples   Videos
New in version: 10.4   10.5   11.0   11.1   11.2   11.3   11.4   11.5   12.0   12.1    Statistic    FMM    Blog  


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


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


Returns the number of bytes written or an error message.


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.


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

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

Socket.SetTimeToLive - Socket.WriteByte

Feedback: Report problem or ask question.

MBS Xojo blog

Start Chat