Go to the latest version of this document.

# ``twisted`.`internet`.`udp`.`MulticastPort``

class documentation

`class MulticastPort(MulticastMixin, Port): (source)`

Constructor: `MulticastPort(port, proto, interface, maxPacketSize, ...)`

Implements interfaces: `twisted.internet.interfaces.IMulticastTransport`

View In Hierarchy

UDP Port that supports multicasting.

Method | `__init__` | No summary
Method | `createInternetSocket` | Override `Port.createInternetSocket` to configure the socket to honor the `listenMultiple` argument to `IReactorMulticast.listenMultiple`.
Instance Variable | `listenMultiple` | Undocumented

Inherited from `MulticastMixin`:

Method | `getLoopbackMode` | Undocumented
Method | `getOutgoingInterface` | Undocumented
Method | `getTTL` | Undocumented
Method | `joinGroup` | No summary
Method | `leaveGroup` | No summary
Method | `setLoopbackMode` | Undocumented
Method | `setOutgoingInterface` | No summary
Method | `setTTL` | Undocumented
Class Variable | `addressFamily` | Undocumented
Class Variable | `reactor` | Undocumented
Class Variable | `socket` | Undocumented
Method | `_addrpack` | Pack an IP address literal into bytes, according to the address family of this transport.
Method | `_joinleave` | Undocumented
Property | `_ipproto` | Undocumented
Property | `_joingroup` | Undocumented
Property | `_leavegroup` | Undocumented
Property | `_multiif` | Undocumented
Property | `_multiloop` | Undocumented

Inherited from `Port` (via `MulticastMixin`):

Method | `__repr__` | Undocumented
Method | `connect` | 'Connect' to remote server.
Method | `connectionLost` | Cleans up my socket.
Method | `doRead` | Called when my socket is ready for reading.
Method | `getBroadcastAllowed` | Checks if broadcast is currently allowed on this port.
Method | `getHandle` | Return a socket object.
Method | `getHost` | Return the local address of the UDP connection
Method | `logPrefix` | Return the prefix to log with.
Method | `loseConnection` | Close the connection at the next available opportunity.
Method | `setBroadcastAllowed` | Set whether this port may broadcast. This is disabled by default.
Method | `setLogStr` | Initialize the `logstr` attribute to be used by `logPrefix`.
Method | `startListening` | Create and bind my socket, and begin listening on it.
Method | `stopListening` | Stop listening on this port.
Method | `write` | Write a datagram.
Method | `writeSequence` | Write a datagram constructed from an iterable of `bytes`.
Instance Variable | `connected` | Undocumented
Instance Variable | `d` | Undocumented
Instance Variable | `interface` | Undocumented
Instance Variable | `logstr` | Undocumented
Instance Variable | `maxPacketSize` | Undocumented
Instance Variable | `maxThroughput` | Maximum number of bytes read in one event loop iteration.
Instance Variable | `port` | Undocumented
Instance Variable | `protocol` | Undocumented
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.
Instance Variable | `_connectedAddr` | Undocumented
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`).
Instance Variable | `_realPortNumber` | Actual port number being listened on. The value will be `None` until this `Port` is listening.

Inherited from `BasePort` (via `MulticastMixin`, `Port`):

Method | `doWrite` | Raises a RuntimeError
Class Variable | `socketType` | Undocumented

Inherited from `FileDescriptor` (via `MulticastMixin`, `Port`, `BasePort`):

Method | `fileno` | File Descriptor number for select().
Method | `getPeer` | Get the remote address of this connection.
Method | `loseWriteConnection` | Undocumented
Method | `pauseProducing` | Pause producing data.
Method | `readConnectionLost` | Indicates read connection was lost.
Method | `resumeProducing` | Resume producing data.
Method | `startReading` | Start waiting for read availability.
Method | `startWriting` | Start waiting for write availability.
Method | `stopConsuming` | Stop consuming data.
Method | `stopProducing` | Stop producing data.
Method | `stopReading` | Stop waiting for read availability.
Method | `stopWriting` | Stop waiting for write availability.
Method | `writeConnectionLost` | Indicates write connection was lost.
Method | `writeSomeData` | Write as much as possible of the given data, immediately.
Constant | `SEND_LIMIT` | Undocumented
Class Variable | `bufferSize` | Undocumented
Class Variable | `disconnecting` | Undocumented
Instance Variable | `dataBuffer` | Undocumented
Instance Variable | `disconnected` | Undocumented
Instance Variable | `offset` | Undocumented
Instance Variable | `producer` | Undocumented
Instance Variable | `producerPaused` | Undocumented
Method | `_closeWriteConnection` | Undocumented
Method | `_isSendBufferFull` | Determine whether the user-space send buffer for this transport is full or not.
Method | `_maybePauseProducer` | Possibly pause a producer, if there is one and the send buffer is full.
Method | `_postLoseConnection` | Called after a loseConnection(), when all data has been written.
Class Variable | `_writeDisconnected` | Undocumented
Instance Variable | `_tempDataBuffer` | Undocumented
Instance Variable | `_tempDataLen` | Undocumented
Instance Variable | `_writeDisconnecting` | Undocumented

Inherited from `_ConsumerMixin` (via `MulticastMixin`, `Port`, `BasePort`, `FileDescriptor`):

Method | `registerProducer` | Register to receive data from a producer.
Method | `unregisterProducer` | Stop consuming data from a producer, without disconnecting.
Instance Variable | `streamingProducer` | `bool` or `int`

Inherited from `_LogOwner` (via `MulticastMixin`, `Port`, `BasePort`, `FileDescriptor`, `_ConsumerMixin`):

Method | `_getLogPrefix` | Determine the log prefix to use for messages related to `applicationObject`, which may or may not be an `interfaces.ILoggingContext` provider.

def __init__(self, port: `int`, proto: `AbstractDatagramProtocol`, interface: `str` = '', maxPacketSize: `int` = 8192, reactor: `IReactorMulticast | None` = None, listenMultiple: `bool` = False): (source)
overrides `twisted.internet.udp.Port.__init__`

See Also
`twisted.internet.interfaces.IReactorMulticast.listenMulticast`

def createInternetSocket(self) -> `socket.socket`: (source)
overrides `twisted.internet.base.BasePort.createInternetSocket`

Override `Port.createInternetSocket` to configure the socket to honor the `listenMultiple` argument to `IReactorMulticast.listenMultiple`.

listenMultiple = (source)

Undocumented