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.1
10.2
10.3
10.4
10.5
11.0
11.1
11.2
11.3
11.4
Statistic
FMM
Blog
Socket.SetDataAvailableHandler
Sets the data available handler for this socket.
Component |
Version |
macOS |
Windows |
Linux |
Server |
iOS SDK |
Socket
|
3.1 |
✅ Yes
|
✅ Yes
|
✅ Yes
|
❌ No
|
✅ Yes
|
MBS( "Socket.SetDataAvailableHandler"; SocketID; FileName; ScriptName )
More
MBS(
"Socket.SetDataAvailableHandler"; /* Sets the data available handler for this socket. */
$SocketID; /* The socket ID received by
Socket.Connect function.e.g. $sock */
$FileName; /* The name of the FileMaker File that contains the scripte.g. "MyDatabase.fp7" */
$ScriptName) /* The name of the script to rune.g. "DataAvailable" */
Less
Parameters
Parameter |
Description |
Example |
SocketID |
The socket ID received by Socket.Connect function. |
$sock |
FileName |
The name of the FileMaker File that contains the script |
"MyDatabase.fp7" |
ScriptName |
The name of the script to run |
"DataAvailable" |
Result
Returns OK or error message.
Description
Sets the data available handler for this socket.
When new data arrives, this script is called, so you can call Socket.Read function.
Be aware that script may be called when just a few bytes are in the read buffer. So the data message you wait for may only be available partly. In that case, please read available bytes, check if whole packet/message arrived and if not, store read data for later and wait for next script call.
The script parameter is the ID of the socket. You can associate additional values with Socket.SetTag function to the socket and use them in the script triggered.
With plugin version 6.0 or newer the script name can be a script ID number. In that case the plugin queries the script name for the given script ID. This allows to call scripts by ID and avoid problems if scripts are later renamed.
FileMaker 19.2 adds a fmplugin extended privileges. You my need to add such an extended privileges to allow the plugin to trigger scripts. See FileMaker product documentation for details.
Examples
Set script to be triggered if data is available:
Set Variable [$r; Value:MBS("Socket.SetDataAvailableHandler"; $$sock; Get(FileName); "ReadMessage")]
See also
Example Databases
Created 18th August 2014, last changed 27th March 2019
Socket.SetDataAvailableEvaluate
-
Socket.SetDataAvailableURL
Feedback: Report problem or ask question.