twisted.internet.udp.Port(base.BasePort)
class documentationtwisted.internet.udp
View Source
(View In Hierarchy)
Known subclasses: twisted.internet.udp.MulticastPort, twisted.internet.unix.DatagramPort
Implements interfaces: twisted.internet.interfaces.IListeningPort, twisted.internet.interfaces.ISystemHandle, twisted.internet.interfaces.IUDPTransport
UDP port, listening for packets.
Instance Variable | maxThroughput | Maximum number of bytes read in one event loop iteration. |
Instance Variable | addressFamily | socket.AF_INET or socket.AF_INET6 , depending on
whether this port is listening on an IPv4 address or an IPv6 address. |
Method | __init__ | |
Method | __repr__ | Undocumented |
Method | getHandle | Return a socket object. |
Method | startListening | Create and bind my socket, and begin listening on it. |
Method | doRead | Called when my socket is ready for reading. |
Method | write | Write a datagram. |
Method | writeSequence | Reliably write a sequence of data. |
Method | connect | 'Connect' to remote server. |
Method | stopListening | Stop listening on this port. |
Method | loseConnection | Close the connection at the next available opportunity. |
Method | connectionLost | Cleans up my socket. |
Method | setLogStr | Initialize the logstr attribute to be used by
logPrefix . |
Method | logPrefix | Return the prefix to log with. |
Method | getHost | Return the local address of the UDP connection |
Method | setBroadcastAllowed | Set whether this port may broadcast. This is disabled by default. |
Method | getBroadcastAllowed | Checks if broadcast is currently allowed on this port. |
Instance Variable | _realPortNumber | Actual port number being listened on. The value will be None
until this Port
is listening. |
Instance Variable | _preexistingSocket | If not None , a socket.socket instance which was
created and initialized outside of the reactor and will be used to listen
for connections (instead of a new socket being created by this Port ). |
Class Method | _fromListeningDescriptor | Create a new Port based on an
existing listening SOCK_DGRAM socket. |
Method | _bindSocket | Prepare and assign a socket.socket instance to
self.socket . |
Method | _connectToProtocol | Undocumented |
Method | _loseConnection | Undocumented |
Method | _setAddressFamily | Resolve address family for the socket. |
Inherited from _LogOwner (via BasePort, FileDescriptor):
Method | _getLogPrefix | Determine the log prefix to use for messages related to
applicationObject , which may or may not be an interfaces.ILoggingContext
provider. |
Inherited from _LogOwner (via BasePort, FileDescriptor):
Method | _getLogPrefix | Determine the log prefix to use for messages related to
applicationObject , which may or may not be an interfaces.ILoggingContext
provider. |
Inherited from _LogOwner (via BasePort, FileDescriptor):
Method | _getLogPrefix | Determine the log prefix to use for messages related to
applicationObject , which may or may not be an interfaces.ILoggingContext
provider. |
Inherited from _LogOwner (via BasePort, FileDescriptor):
Method | _getLogPrefix | Determine the log prefix to use for messages related to
applicationObject , which may or may not be an interfaces.ILoggingContext
provider. |
socket.AF_INET
or socket.AF_INET6
, depending on
whether this port is listening on an IPv4 address or an IPv6 address.
None
until this Port
is listening.
None
, a socket.socket
instance which was
created and initialized outside of the reactor and will be used to listen
for connections (instead of a new socket being created by this Port
).
Parameters | port | A port number on which to listen. (type: int ) |
proto | A DatagramProtocol instance which will be connected to the
given port . (type: twisted.internet.protocol.DatagramProtocol ) | |
interface | The local IPv4 or IPv6 address to which to bind; defaults to '', ie all
IPv4 addresses. (type: str ) | |
maxPacketSize | The maximum packet size to accept. (type: int ) | |
reactor | A reactor which will notify this Port when its socket is ready
for reading or writing. Defaults to None , ie the default
global reactor. (type: interfaces.IReactorFDSet ) |
Create a new Port
based on an
existing listening SOCK_DGRAM socket.
Parameters | reactor | A reactor which will notify this Port when its socket
is ready for reading or writing. Defaults to None , ie the
default global reactor. (type: interfaces.IReactorFDSet ) |
fd | An integer file descriptor associated with a listening socket. The socket
must be in non-blocking mode. Any additional attributes desired, such as
FD_CLOEXEC, must also be set already. (type: int ) | |
addressFamily | The address family (sometimes called domain) of the existing socket.
For example, socket.AF_INET . | |
addressFamily | int | |
protocol | A DatagramProtocol instance which will be connected to the
port . | |
maxPacketSize | The maximum packet size to accept. (type: int ) | |
Returns | A new instance of cls wrapping the socket given by
fd . (type: Port ) |
Create and bind my socket, and begin listening on it.
This is called on unserialization, and must be called after creating a server to begin listening on the specified port.
Prepare and assign a socket.socket
instance to
self.socket
.
Either creates a new SOCK_DGRAM socket.socket
bound to
self.interface
and self.port
or takes an existing
socket.socket
provided via the interfaces.IReactorSocket.adoptDatagramPort
interface.
Called when my socket is ready for reading.
Write a datagram.
Parameters | datagram | The datagram to be sent. (type: str ) |
addr | A tuple of (stringified IPv4 or IPv6 address, integer port
number); can be None in connected mode. (type: tuple containing str as first element and
int as second element, or None ) |
Reliably write a sequence of data.
Currently, this is a convenience method roughly equivalent to:
for chunk in iovec: fd.write(chunk)
It may have a more efficient implementation at a later time or in a different reactor.
As with the write()
method, if a buffer size limit is
reached and a streaming producer is registered, it will be paused until the
buffered data is written to the underlying file descriptor.
Stop listening on this port.
If it does not complete immediately, will return Deferred that fires upon completion.
Close the connection at the next available opportunity.
Call this to cause this FileDescriptor to lose its connection. It will first write any data that it has buffered.
If there is data buffered yet to be written, this method will cause the transport to lose its connection as soon as it's done flushing its write buffer. If you have a producer registered, the connection won't be closed until the producer is finished. Therefore, make sure you unregister your producer when it's finished, or the connection will never close.
Cleans up my socket.
Initialize the logstr
attribute to be used by
logPrefix
.
Return the local address of the UDP connection
Returns | the local address of the UDP connection (type: IPv4Address
or IPv6Address ) |
Set whether this port may broadcast. This is disabled by default.
Parameters | enabled | Whether the port may broadcast. (type: bool ) |