+
Point of view
All features
class TCP_ACCESS
Summary
Access to a TCP server.
Direct parents
Inherit list: IPV4_ACCESS
Insert list: SOCKET_PLUG_IN
Overview
Creation features
{ANY}
Features
{ANY}
  • server: SOCKET_SERVER
    Start a server on the given access on localhost, listening to connections bound to the given address.
  • set_address_reuse (value: BOOLEAN)
    When value, servers are created with reusable addresses See SO_REUSEADDR in IP sockets documentation for details
  • address_reuse: BOOLEAN
    Should created servers should be created with a reusable bind address?
{}
Option handling
{}
{IPV4_ADDRESS}
{ANY}
{ANY}
{}
{}
Plugin
{}
Name resolution -- see LOCALHOST
{}
Macros for setting options
{}
server: SOCKET_SERVER
effective function
{ANY}
Start a server on the given access on localhost, listening to connections bound to the given address.
set_address_reuse (value: BOOLEAN)
effective procedure
{ANY}
When value, servers are created with reusable addresses See SO_REUSEADDR in IP sockets documentation for details
ensure
address_reuse: BOOLEAN
writable attribute
{ANY}
Should created servers should be created with a reusable bind address?
make (a_address: ADDRESS, a_port: INTEGER_32, a_sync: BOOLEAN)
effective procedure
{}
Access to a server on the given host address listening at the given port
require
  • a_address /= Void
  • a_port.in_range(1, 65535)
sync: BOOLEAN
writable attribute
{}
set_preopen_options (fd: INTEGER_32)
effective procedure
{}
Set the socket options that should be set after creating the socket and before binding it
set_integer_socket_option (fd: INTEGER_32, opt_name: INTEGER_32, opt_val: INTEGER_32)
effective procedure
{}
new_ipv4_socket (a: INTEGER_32, b: INTEGER_32, c: INTEGER_32, d: INTEGER_32): SOCKET
effective function
ensure
  • Result /= Void
port: INTEGER_32
writable attribute
{ANY}
address: ADDRESS
writable attribute
{ANY}
The host of the server
error: STRING
writable attribute
{ANY}
If an error occurred
effective function
{ANY}
Open a connection to the remote address and access.
ensure
  • error = Void implies Result.is_connected
effective function
{}
socket: SOCKET
effective function
{}
Create a low-level socket connected to the remote address and host.
ensure
  • error = Void implies Result.is_connected
last_error: STRING
effective function
{}
last_error_number: INTEGER_32
effective function
{}
require
net_tcp (ip_a: INTEGER_32, ip_b: INTEGER_32, ip_c: INTEGER_32, ip_d: INTEGER_32, a_port: INTEGER_32, a_sync: BOOLEAN): INTEGER_32
{}
net_udp (ip_a: INTEGER_32, ip_b: INTEGER_32, ip_c: INTEGER_32, ip_d: INTEGER_32, a_port: INTEGER_32, a_sync: BOOLEAN): INTEGER_32
{}
net_local (a_port: INTEGER_32, a_sync: BOOLEAN): INTEGER_32
{}
net_select (a_fd: INTEGER_32, a_timeout: REAL_64): INTEGER_32
{}
net_read (a_fd: INTEGER_32, a_count: INTEGER_32, a_buffer: POINTER, sync: BOOLEAN): INTEGER_32
{}
net_write (a_fd: INTEGER_32, a_count: INTEGER_32, a_buffer: NATIVE_ARRAY[CHARACTER]): INTEGER_32
{}
net_accept (a_fd: INTEGER_32, a_val: NATIVE_ARRAY[INTEGER_32], a_sync: BOOLEAN)
{}
net_disconnect (a_fd: INTEGER_32)
{}
net_shutdown (a_fd: INTEGER_32)
{}
net_last_error: POINTER
{}
net_last_error_number: INTEGER_32
{}
net_last_error_try_again: BOOLEAN
{}
net_hostname (a_hostname: POINTER): INTEGER_32
{}
net_tcp_server (port: INTEGER_32, a_sync: BOOLEAN): INTEGER_32
{}
net_udp_server (port: INTEGER_32, a_sync: BOOLEAN): INTEGER_32
{}
net_local_server (port: INTEGER_32, a_sync: BOOLEAN): INTEGER_32
{}
net_bind_server (socket: INTEGER_32, port: INTEGER_32, sockfamily: INTEGER_32): INTEGER_32
{}
net_set_int_option (fd: INTEGER_32, level: INTEGER_32, optname: INTEGER_32, opt_val: INTEGER_32): INTEGER_32
{}
net_tcp_socket (sync: BOOLEAN): INTEGER_32
{}
net_udp_socket (sync: BOOLEAN): INTEGER_32
{}
net_local_socket (sync: BOOLEAN): INTEGER_32
{}
net_gethostname: POINTER
{}
net_sethostname (hn: POINTER, size: INTEGER_32)
{}
net_getdomainname: POINTER
{}
net_setdomainname (dn: POINTER, size: INTEGER_32)
{}
sol_socket: INTEGER_32
{}
so_reuse_addr: INTEGER_32
{}
af_inet: INTEGER_32
{}