| Allegro CL version 8.2 Unrevised from 8.1 to 8.2. 8.1 version |
Arguments: sock buffer size &key remote-host remote-port ipv6 scope-id
For datagram sockets you can't do normal Lisp stream I/O. The data is written to the socket using this function.
The buffer argument can be a string or a byte vector; the size argument is the number of bytes of data to send. (The buffer argument is actually passed unmodified to a foreign function that will grab bytes from the address, so any simple 1-d Lisp array with any element size can in principle work, given the right byte count, provided sender and receiver have the same endianess.)
remote-host and remote-port describe where to send the data. If they aren't given then the values saved when the socket was created with make-socket are used.
The ipv6
and scope-id keyword arguments are part of
IPv6 support. ipv6 defaults to the value
of *ipv6*
. This
keyword argument is passed on to lookup-hostname when
resolving remote-host.
scope-id specifies the interface to use when
sending IPv6 traffic to remote-host. If
remote-host is specified and is an ipv6-address
structure, its scope-id
slot will be updated to the
value of the scope-id keyword argument.
If scope-id is not specified, then the scope-id slot of the remote-host argument will be used. If remote-host is not specified or does not have a scope-id, then 0 will be used.
Method for file-datagram-socket
Arguments: (sock file-datagram-socket) buffer size &key remote-filename
The method for file-datagram-socket
s is like the method
for datagram sockets described above, except it is used for sockets
within the address family :file
.
The method for file-datagram-socket is unaffected by the IPv6 changes. file-datagram sockets are not internet sockets so they cannot use IPv6 (or IPv4) addresses.
See socket.htm for general information on sockets in Allegro CL.
Copyright (c) 1998-2016, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.1 page.
Created 2010.1.21.
| Allegro CL version 8.2 Unrevised from 8.1 to 8.2. 8.1 version |