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 dupped 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.