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
Name | Description |
---|---|
this
(af, type, protocol)
|
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
(info)
|
Create a blocking socket using the parameters from the specified
AddressInfo structure.
|
this
(sock, af)
|
Use an existing socket handle. |
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 | Get underlying socket handle. |
hostName [get]
|
string | |
isAlive [get]
|
bool | Property that indicates if this is a valid, alive socket. |
localAddress [get]
|
Address | Local endpoint Address .
|
release [get]
|
std | Releases the underlying socket handle from the Socket object. Once it is released, you cannot use the Socket object's methods anymore. This also means the Socket destructor will no longer close the socket - it becomes your responsibility. |
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
(addr)
|
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
(to)
|
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
(level, option, result)
|
Get a socket option. |
getOption
(level, option, result)
|
Common case of getting integer and boolean options. |
getOption
(level, option, result)
|
Get the linger option. |
getOption
(level, option, result)
|
Get a timeout (duration) option. |
listen
(backlog)
|
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 accept ed.
|
receive
(buf, flags)
|
Receive data on the connection. If the socket is blocking, receive
waits until there is data to be received.
|
receiveFrom
(buf, flags, from)
|
Receive data and get the remote endpoint Address .
If the socket is blocking, receiveFrom waits until there is data to
be received.
|
select
(checkRead, checkWrite, checkError, timeout)
|
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
(buf, flags)
|
Send data on the connection. If the socket is blocking and there is no
buffer space left, send waits.
|
sendTo
(buf, flags, to)
|
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
(time, interval)
|
Enables TCP keep-alive with the specified parameters. |
setOption
(level, option, value)
|
Set a socket option. |
setOption
(level, option, value)
|
Common case for setting integer and boolean options. |
setOption
(level, option, value)
|
Set the linger option. |
setOption
(level, option, value)
|
Sets a timeout (duration) option, i.e. SocketOption or
RCVTIMEO . Zero indicates no timeout.
|
shutdown
(how)
|
Disables sends and/or receives. |
factory
(classname)
|
Create instance of class specified by the fully qualified name classname. The class must either have no constructors or have a default constructor. |
opCmp
(o)
|
Compare with another Object obj. |
opEquals
(o)
|
Test whether this is equal to o .
The default implementation only compares by identity (using the is operator).
Generally, overrides and overloads for opEquals should attempt to compare objects by their contents.
A class will most likely want to add an overload that takes your specific type as the argument
and does the content comparison. Then you can override this and forward it to your specific
typed overload with a cast. Remember to check for null on the typed overload.
|
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
Copyright © 1999-2024 by the D Language Foundation | Page generated by ddox.