View source code
Display the source code in std/socket.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
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.

Class std.socket.Socket

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

class Socket ;

Constructors

NameDescription
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 Create a blocking socket using the parameters from the specified AddressInfo structure.
this Use an existing socket handle.

Fields

NameTypeDescription
_blocking boolProperty to get or set whether the socket is blocking or nonblocking.

Properties

NameTypeDescription
addressFamily[get] AddressFamilyGet the socket's address family.
blocking[get, set] boolGet/set socket's blocking flag.
handle[get] std.socket.socket_tGet underlying socket handle.
hostName[get] string
isAlive[get] boolProperty that indicates if this is a valid, alive socket.
localAddress[get] AddressLocal endpoint Address.
remoteAddress[get] AddressRemote endpoint Address.

Methods

NameDescription
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. The Socket object is no longer usable after close. Calling shutdown before close is recommended for connection-oriented sockets.
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 socket's error status.
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 Duration 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 a socket option.
setOption Common case for setting integer and boolean options.
setOption Set the linger option.
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 Test whether this is equal to o. The default implementation only compares by identity (using the is operator). Generally, overrides for opEquals should attempt to compare objects by their contents.
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 Can be overridden to support other addresses.

Authors

Christopher E. Miller, David Nadlinger, Vladimir Panteleev

License

Boost License 1.0.