tcp_accept(
+PassiveSocket,
-Socket)
tcp_accept/2
is used to accept a connection request on
PassiveSocket and binding a Prolog stream to it. The input and
output streams created by calling this predicate can be obtained by
using the Socket output argument when calling
tcp_input_stream/2
and tcp_output_stream/2
, respectively.
To arrange for a server to make a callback whenever there is a connection request:
... tcp_create_listener(Port, Host, Passive), tcp_create_input_callback(Passive, accept(Passive)), ... accept(Passive) :- tcp_accept(Passive, Socket), ...
Probably you will want to make the newly created socket a callback as
well, so then the clause for accept/1
in the preceding example would
be:
accept(Passive) :- tcp_accept(Passive, Socket), tcp_create_input_callback(Socket, input_on(Socket)).
Where input_on/1
is as defined in the example for
tcp_create_input_callback/2
.