Пакет Swift для macOS, iOS и tvOS для отправки данных sACN (E1.31) DMX через UDP с использованием Network.framework
.
Вам нужно только инициировать Connection
для юниверса, и вы можете начать отправку данных DMX.
let connection = Connection ( universe : 1 )
connection . sendDMXData ( Data ( [ 0 , 10 , 255 , 0 , 0 , 0 , 255 ] ) )
Если вы хотите использовать UDP Unicast вместо Multicast, вы можете просто указать конечную точку самостоятельно:
let connection = Connection ( endpoint : . hostPort ( host : " 192.168.2.102 " , . sACN ) , universe : 2 )
connection . sendDMXData ( Data ( [ 0 , 10 , 255 , 0 , 0 , 0 , 255 ] ) )
Foundation
и Network.framework
Для одноадресной рассылки вам необходимо указать конечную точку IPv6. Для многоадресной рассылки вам необходимо указать версию IP, которую вы хотите использовать:
let connection = Connection ( universe : 1 , ipVersion : . v6 )
После создания connection
вы можете установить приоритет для каждого пакета с помощью метода Connection.sendDMXData(_:priority:isPreviewData:)
. Приоритет по умолчанию — 100
.
connection . sendDMXData ( data , priority : 200 )
После создания connection
вы можете выбрать для каждого пакета, будут ли это данные предварительного просмотра или нет, используя метод Connection.sendDMXData(_:priority:isPreviewData:)
. isPreviewData
по умолчанию имеет значение false
.
connection . sendDMXData ( data , isPreviewData : true )
Connection
поддерживает настройку порта, идентификатора компонента (CID), имени источника, DispatchQueue
и NWConneciton.Parameter
. Дополнительную информацию можно найти в документации.
public convenience init (
universe : UInt16 ,
ipVersion : IPVersion = . v4 ,
port : NWEndpoint . Port = . sACN ,
cid : UUID = . init ( ) ,
sourceName : String = getDeviceName ( ) ,
queue : DispatchQueue ? = nil ,
parameters : NWParameters ? = nil
)