socket_connect - initiate a connection on a socket

int socket_connect( int s, string address, string read_callback, string write_callback );

This efun is only available if PACKAGE_SOCKETS is compiled in.

The argument s is a socket. s must be either a STREAM mode or a MUD mode socket. address is the address to which the socket will attempt to connect. address is of the form: "127.0.0.1 23"

The argument read_callback is the name of a function for the driver to call when the socket gets data from its peer. The read callback should follow this format:

void read_callback(int fd, mixed message)

Where fd is the socket which received the data, and message is the data which was received.

The argument write_callback is the name of a function for the driver to call when the socket is ready to be written to. The write callback should follow this format:

void write_callback(int fd)

Where fd is the socket which is ready to be written to.

socket_connect() returns:

EESUCCESS on success.

a negative value indicated below on error.

ERRORS - these are in "socket_err.h"

EEFDRANGE Descriptor out of range.
EEBADF Descriptor is invalid.
EESECURITY Security violation attempted.
EEMODENOTSUPP Socket mode not supported.
EEISLISTEN Socket is listening.
EEISCONN Socket is already connected.
EEBADADDR Problem with address format.
EEINTR Interrupted system call.
EEADDRINUSE Address already in use.
EEALREADY Operation already in progress.
EECONNREFUSED Connection refused.
EECONNECT Problem with connect.

See also: socket_accept , socket_close , socket_create


Tim Hollebeek

Beek @ZorkMUD, Lima Bean, IdeaExchange, TMI-2, and elsewhere