System.IO.BACnet.BacnetEthernetProtocolTransport.Send C# (CSharp) Méthode

Send() public méthode

public Send ( byte buffer, int offset, int data_length, BacnetAddress address, bool wait_for_transmission, int timeout ) : int
buffer byte
offset int
data_length int
address BacnetAddress
wait_for_transmission bool
timeout int
Résultat int
        public int Send(byte[] buffer, int offset, int data_length, BacnetAddress address, bool wait_for_transmission, int timeout)
        {
            int hdr_offset = 0;

            for (int i = 0; i < 6; i++)
                buffer[hdr_offset++] = address.adr[i];

            // write the source mac address bytes
            for (int i = 0; i < 6; i++)
                buffer[hdr_offset++] = _deviceMac[i];

            // the next 2 bytes are used for the packet length
            buffer[hdr_offset++] = (byte)(((data_length + 3) & 0xFF00) >> 8);
            buffer[hdr_offset++] = (byte)((data_length + 3) & 0xFF);

            // DSAP and SSAP
            buffer[hdr_offset++] = 0x82;
            buffer[hdr_offset++] = 0x82;

            // LLC control field
            buffer[hdr_offset] = 0x03;

            lock (_device)
            {
                _device.SendPacket(buffer, data_length + HeaderLength);
            }

            return data_length + HeaderLength;
        }