The %bind() function binds a socket to a named resource. In case of a network, the resource would be an access point into the system (see the example below).
Syntax
code = %bind(fd, addr.family, address, port) |
Parameter(s)
fd |
File descriptor of the local socket returned by a previous call to the FlashBASIC C function %socket(). |
addr.family |
Specifies the addressing scheme used by the protocol. This field must match the address family used when creating the socket. Valid values are defined in the include file: dm,bp,unix.h socket.h. |
address |
Legal values are defined in the include file: dm,bp,unix.h socket.h. |
port |
Port number on the local host. The legal value for this field depends on the protocol. On TCP/IP, for example, valid port number are from 1024 to 32767. This field may not be applicable for all protocols. |
Description
To compile successfully, the statement cfunction socket.builtin must be included in the source code.
Upon successful completion, a value of 0 is returned in code. In case of an error, -1 is returned and the FlashBASIC system(0) function is set to the value of errno.
Example(s)
cfunction socket.builtin include dm,bp,includes sysid.inc include dm,bp,unix.h socket.h * Create a socket fd=%socket(af$inet, sock$stream, 0) * Bind the socket to a local Ethernet port. * Use default address. if %bind(fd, af$inet, inaddr$any, 1024)<0 then crt ’bind failed’; stop end * Wait for incoming connection %listen(fd, 1) * Accept a connection address=0; port=0 fd=%accept(socket, &address, &port) * Read data from the data link %recv(fd, buffer, 1024) |
See Also