Swift Package สำหรับ macOS, iOS และ tvOS เพื่อส่งข้อมูล DMX sACN (E1.31) ผ่าน 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
เท่านั้น สำหรับ Unicast คุณต้องระบุ IPv6 Endpoint สำหรับ Multicast คุณต้องระบุเวอร์ชัน 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
รองรับการปรับแต่งพอร์ต, Component Identifier (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
)