6.4 TCP socket predicates
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • SWI-Prolog C-library
        • library(socket): Network socket (TCP and UDP) library
          • TCP socket predicates
            • tcp_socket/1
            • tcp_close_socket/1
            • tcp_open_socket/2
            • tcp_open_socket/3
            • tcp_bind/2
            • tcp_listen/2
            • tcp_accept/3
            • tcp_connect/2
            • tcp_connect/4
            • tcp_connect/3
            • tcp_select/3
            • try_proxy/4
            • proxy_for_url/3
            • tcp_setopt/2
            • tcp_fcntl/3
            • tcp_getopt/2
            • tcp_host_to_address/2
            • gethostname/1
            • negotiate_socks_connection/2
Availability::- use_module(library(socket)).(can be autoloaded)
Source[det]tcp_fcntl(+Stream, +Action, ?Argument)
Interface to the fcntl() call. Currently only suitable to deal switch stream to non-blocking mode using:
  tcp_fcntl(Stream, setfl, nonblock),

An attempt to read from a non-blocking stream while there is no data available returns -1 (or end_of_file for read/1), but at_end_of_stream/1 fails. On actual end-of-input, at_end_of_stream/1 succeeds.