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

Socket.Listen

Binds the socket to the port and starts listening.

Component Version macOS Windows Linux Server iOS SDK
Socket 3.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "Socket.Listen"; SocketID; Port { ; backlog } )   More

Parameters

Parameter Description Example Flags
SocketID The socket ID received by Socket.Connect function. $sock
Port The port number to listen at.
If port is zero, we pick a random free port number, which you can query with Socket.LocalPort function.
8000
backlog Available in MBS FileMaker Plugin 9.1 or newer.
The back log for connection.
How many pending connections can be accepted on this socket. Once you call Socket.AcceptNewConnection, an entry is removed here.
Default is 3.
3 Optional

Result

Returns OK or error message.

Description

Binds the socket to the port and starts listening.
For UDP Socket, the socket starts receiving packets.
For TCP Socket, the socket can accept connections which causes a script to be called. You set the script name with Socket.SetNewConnectionHandler. In the script you call Socket.AcceptNewConnection to get a new socket for the new connection.

Be aware that FileMaker Server does not allow the plugin to operate if no script is running. So if you use sockets there, make sure a script is running or paused while you expect an answer coming in.

Examples

Listen to a given Port:

Set Variable [$r; Value:MBS("Socket.Listen"; $$sock; 12345)]

Create TCP Socket listening on a port:

Set Variable [$$sock; Value:MBS("Socket.NewTCPSocket")]
If [MBS("IsError")]
    Show Custom Dialog ["Failed to create Socket"; $$sock]
    Exit Script []
End If
Set Variable [$r; Value:MBS("Socket.SetNewConnectionHandler"; $$sock; Get(FileName); "NewConnection")]
Set Variable [$r; Value:MBS("Socket.SetErrorHandler"; $$sock; Get(FileName); "SocketError")]
Set Variable [$r; Value:MBS("Socket.Listen"; $$sock; TCP Receiver::ListenPort)]
If [MBS("IsError")]
    Show Custom Dialog ["Failed to create Socket"; $$sock]
    Exit Script []
End If

See also

Release notes

Example Databases

Blog Entries

This function checks for a license.

Created 18th August 2014, last changed 10th January 2023


Socket.List - Socket.LocalIP