Next: Socket Example
Prev: socket
Up: socket
Top: Top
5.7.1. Socket Object Methods
Socket objects have the following methods. Except for
makefile()
these correspond to UNIX system calls applicable to
sockets.
- accept () -- Method on socket
-
Accept a connection.
The socket must be bound to an address and listening for connections.
The return value is a pair
(conn, address)
where conn is a new socket object usable to send and
receive data on the connection, and address is the address bound
to the socket on the other end of the connection.
- bind (address) -- Method on socket
-
Bind the socket to an address. The socket must not already be bound.
- close () -- Method on socket
-
Close the socket. All future operations on the socket object will fail.
The remote end will receive no more data (after queued data is flushed).
Sockets are automatically closed when they are garbage-collected.
- connect (address) -- Method on socket
-
Connect to a remote socket.
- fileno () -- Method on socket
-
Return the socket's file descriptor (a small integer). This is useful
with
select
.
- getpeername () -- Method on socket
-
Return the remote address to which the socket is connected. This is
useful to find out the port number of a remote IP socket, for instance.
- getsockname () -- Method on socket
-
Return the socket's own address. This is useful to find out the port
number of an IP socket, for instance.
- getsockopt (level, optname, buflen) -- Method on socket
-
Return the value of the given socket option (see the UNIX man page
getsockopt(2)). The needed symbolic constants are defined in module
SOCKET. If the optional third argument is absent, an integer option
is assumed and its integer value is returned by the function. If
buflen is present, it specifies the maximum length of the buffer used
to receive the option in, and this buffer is returned as a string.
It's up to the caller to decode the contents of the buffer (see the
optional built-in module
struct
for a way to decode C structures
encoded as strings).
- listen (backlog) -- Method on socket
-
Listen for connections made to the socket.
The argument specifies the maximum number of queued connections and
should be at least 1; the maximum value is system-dependent.
- makefile (mode) -- Method on socket
-
Return a file object associated with the socket.
(File objects were described earlier under Built-in Types.)
The file object references a
dup
ped version of the socket file
descriptor, so the file object and socket object may be closed or
garbage-collected independently.
- recv (bufsize, flags) -- Method on socket
-
Receive data from the socket. The return value is a string representing
the data received. The maximum amount of data to be received
at once is specified by bufsize. See the UNIX manual page
for the meaning of the optional argument flags; it defaults to
zero.
- recvfrom (bufsize) -- Method on socket
-
Receive data from the socket. The return value is a pair
(string, address)
where string is a string
representing the data received and address is the address of the
socket sending the data.
- send (string) -- Method on socket
-
Send data to the socket. The socket must be connected to a remote
socket.
- sendto (string, address) -- Method on socket
-
Send data to the socket. The socket should not be connected to a
remote socket, since the destination socket is specified by
address
.
- setsockopt (level, optname, value) -- Method on socket
-
Set the value of the given socket option (see the UNIX man page
setsockopt(2)). The needed symbolic constants are defined in module
SOCKET
. The value can be an integer or a string representing a
buffer. In the latter case it is up to the caller to ensure that the
string contains the proper bits (see the optional built-in module
struct
for a way to encode C structures as strings).
- shutdown (how) -- Method on socket
-
Shut down one or both halves of the connection. If how is
0
,
further receives are disallowed. If how is 1
, further sends are
disallowed. If how is 2
, further sends and receives are
disallowed.
Note that there are no methods read()
or write()
; use
recv()
and send()
without flags argument instead.