WOLFRAM

Enable JavaScript to interact with content and submit forms on Wolfram websites. Learn how
Wolfram Language & System Documentation Center

SocketListen [socket,fun]

starts listening on the specified socket, asynchronously applying fun whenever data is received on the socket.

SocketListen [port,fun]

starts listening for active connections on the specified port of 127.0.0.1.

SocketListen [address,fun]

starts listening for active connections on the specified address address on the local machine.

SocketListen [spec,opts]

starts listening for active connections defined by spec using the options opts.

SocketListen [spec]

starts listening for active connections defined by spec, but does not set up handler functions, etc.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Options  
HandlerFunctionsKeys  
HandlerFunctions  
CharacterEncoding  
RecordSeparators  
Applications  
Interactive Examples  
See Also
Related Guides
History
Cite this Page

SocketListen [socket,fun]

starts listening on the specified socket, asynchronously applying fun whenever data is received on the socket.

SocketListen [port,fun]

starts listening for active connections on the specified port of 127.0.0.1.

SocketListen [address,fun]

starts listening for active connections on the specified address address on the local machine.

SocketListen [spec,opts]

starts listening for active connections defined by spec using the options opts.

SocketListen [spec]

starts listening for active connections defined by spec, but does not set up handler functions, etc.

Details and Options

  • In SocketListen [socket,], socket is of the form SocketObject [].
  • SocketListen [] gives a SocketListener object.
  • For ZMQ sockets, fun is by default applied whether or not a complete message is received.
  • For raw TCP sockets, fun is by default applied to every data buffer generated by the operating system.
  • If SocketListen [spec,] creates a new SocketObject , that socket is closed automatically when DeleteObject is called on the returned SocketListener .
  • With the option settings RecordSeparators->"s" or RecordSeparators->{"s1","s2",}, fun is applied to each block of data received between successive delimiters matching s or the si.
  • The function fun is applied to an association representing each event, with the following default keys:
  • "Data" the data received, as a string
    "Socket" the SocketObject being listened on
    "SourceSocket" the SocketObject that generated the event
    "Timestamp" time when the event occurred (as a DateObject )
  • The following additional keys can also be requested in HandlerFunctionsKeys :
  • "DataBytes" the raw data received, as a list of byte values
    "DataByteArray" the raw data received, as a ByteArray object
    "MultipartComplete" whether a multipart ZMQ message is complete
  • SocketListen accepts the following options:
  • CharacterEncoding $CharacterEncoding the character encoding to assume
    HandlerFunctionsKeys Default keys to include in the data association
    HandlerFunctions Automatic how to handle socket events
    RecordSeparators None how messages are taken to be delimited
  • The following events can be generated while listening on the socket:
  • "DataReceived" data is available on the socket

Examples

open all close all

Basic Examples  (1)

Listen on an available socket to print off the association for the event:

Send some data (printed messages may appear in the Messages window):

Delete the listener and close the sockets:

Scope  (2)

Listen on a TCP socket on an open port on your system, printing off all data:

Connect to the socket with a web browser:

Opening the URL with the system browser will print the request in the Messages window:

Stop listening:

Make a pair of client and server sockets:

Submit to the server socket a HandlerFunctions for incoming data to save the message inside a variable:

When the client writes to the socket, the server will print the message:

Inspect the message:

Change the HandlerFunctions to additionally print the data as a list of bytes:

Stop listening for events with this socket:

Because the listener no longer exists, messages sent to the server will not call any HandlerFunctions :

The handler function did not update the value of msg:

The message can be read from the server with SocketReadMessage :

Close the sockets:

Options  (4)

HandlerFunctionsKeys  (1)

Modify the HandlerFunctionsKeys to be only the data as a ByteArray with "DataByteArray":

Change the value after starting listening on the socket:

Show the updated value of the HandlerFunctionsKeys :

Stop listening and close the socket:

HandlerFunctions  (1)

Specify the function to run on generated data with HandlerFunctions and the "DataReceived" event:

Change the value after starting it:

Stop listening and close the socket:

CharacterEncoding  (1)

Listen for messages, encoding the string key "Data" with a different encoding and encoding the "DataBytes" normally:

Inspect the message to see the different encodings:

Stop listening and close the socket:

RecordSeparators  (1)

Listen on a socket, splitting up messages by whitespace:

Create a client and send a message on this client to the listener's socket:

Now msgs will have the message string split up by the RecordSeparators value:

Stop listening and close the socket:

Listen on a socket, splitting up messages by a set number of bytes:

Applications  (1)

Start a web server, sending a basic HTML page back as the response to all clients:

Import the result from the Wolfram Language:

Open the website in your system browser:

Stop listening and close the socket:

Interactive Examples  (1)

Listen on a socket, continuously writing again to the server a rotated message as soon as a message is received:

Write out an initial message:

Visualize the dynamic rotation of the string:

Stop listening and close the sockets:

Wolfram Research (2017), SocketListen, Wolfram Language function, https://reference.wolfram.com/language/ref/SocketListen.html (updated 2021).

Text

Wolfram Research (2017), SocketListen, Wolfram Language function, https://reference.wolfram.com/language/ref/SocketListen.html (updated 2021).

CMS

Wolfram Language. 2017. "SocketListen." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/SocketListen.html.

APA

Wolfram Language. (2017). SocketListen. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SocketListen.html

BibTeX

@misc{reference.wolfram_2025_socketlisten, author="Wolfram Research", title="{SocketListen}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/SocketListen.html}", note=[Accessed: 16-November-2025]}

BibLaTeX

@online{reference.wolfram_2025_socketlisten, organization={Wolfram Research}, title={SocketListen}, year={2021}, url={https://reference.wolfram.com/language/ref/SocketListen.html}, note=[Accessed: 16-November-2025]}

Top [フレーム]

AltStyle によって変換されたページ (->オリジナル) /