View source code Display the source code in std/socket.d from which this page was generated on github. Improve this page Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone. Page wiki View or edit the community-maintained wiki page associated with this page.

Class std.socket.Socket

Socket is a class that creates a network communication endpoint using the Berkeley sockets interface.

Inherits from

Constructors

Name Description
this Create a blocking socket. If a single protocol type exists to support this socket type within the address family, the ProtocolType may be omitted.
this Use an existing socket handle.
this Create a blocking socket using the parameters from the specified AddressInfo structure.
this Create a blocking socket. If a single protocol type exists to support this socket type within the address family, the ProtocolType may be omitted.

Properties

Name Type Description
addressFamily [get] AddressFamily Get the socket's address family.
blocking [get, set] bool Get/set socket's blocking flag.
handle [get] std.socket.socket_t Get underlying socket handle.
hostName [get] string Returns the local machine's host name.
isAlive [get] bool Property that indicates if this is a valid, alive socket.
localAddress [get] Address Local endpoint Address.
remoteAddress [get] Address Remote endpoint Address.

Methods

Name Description
accept Accept an incoming connection. If the socket is blocking, accept waits for a connection request. Throws SocketAcceptException if unable to accept. See accepting for use with derived classes.
bind Associate a local address with this socket.
close Immediately drop any connections and release socket resources. Calling shutdown before close is recommended for connection-oriented sockets. The Socket object is no longer usable after close.
connect Establish a connection. If the socket is blocking, connect waits for the connection to be made. If the socket is nonblocking, connect returns immediately and the connection attempt is still in progress.
getErrorText Get a text description of this socket's error status, and clear the
getOption Get a socket option.
getOption Common case of getting integer and boolean options.
getOption Get the linger option.
getOption Get a timeout (duration) option.
listen Listen for an incoming connection. bind must be called before you can listen. The backlog is a request of how many pending incoming connections are queued until accepted.
receive Receive data on the connection. If the socket is blocking, receive waits until there is data to be received.
receiveFrom Receive data and get the remote endpoint Address. If the socket is blocking, receiveFrom waits until there is data to be received.
select Wait for a socket to change status. A wait timeout of or TimeVal, may be specified; if a timeout is not specified or the TimeVal is null, the maximum timeout is used. The TimeVal timeout has an unspecified value when select returns.
send Send data on the connection. If the socket is blocking and there is no buffer space left, send waits.
sendTo Send data to a specific destination Address. If the destination address is not specified, a connection must have been made and that address is used. If the socket is blocking and there is no buffer space left, sendTo waits.
setKeepAlive Enables TCP keep-alive with the specified parameters.
setOption Set the linger option.
setOption Set a socket option.
setOption Common case for setting integer and boolean options.
setOption Sets a timeout (duration) option, i.e. SocketOption.SNDTIMEO or RCVTIMEO. Zero indicates no timeout.
shutdown Disables sends and/or receives.
factory Create instance of class specified by the fully qualified name classname. The class must either have no constructors or have a default constructor.
opCmp Compare with another Object obj.
opEquals Returns !=0 if this object does have the same contents as obj.
toHash Compute hash function for Object.
toString Convert Object to a human readable string.
accepting Called by accept when a new Socket must be created for a new connection. To use a derived class, override this method and return an instance of your class. The returned Socket's handle must not be set; Socket has a protected constructor this() to use in this situation.
createAddress Returns a new Address object for the current address family.

Authors

Christopher E. Miller, David Nadlinger, Vladimir Panteleev

License

Boost License 1.0.

Comments