public void Transmit(byte[] buf, int offset, int length) { for (int i = 0; i < length; i++) { byte t = buf[offset + i]; if (t == 0xFF || t == 0x0D) //0xFF‚Ü‚½‚ÍCRLFˆÈŠO‚ÌCR‚ðŒ©‚Â‚¯‚½‚ç { WriteEscaping(buf, offset, length); return; } } _socket.Transmit(buf, offset, length); //‘å’ï‚Ìꇂ͂±‚¤‚¢‚¤ƒf[ƒ^‚Í“ü‚Á‚Ä‚¢‚È‚¢‚Ì‚ÅA‚‘¬‰»‚Ì‚½‚ß‚»‚Ì‚Ü‚Ü‘—‚èo‚· }
public void Transmit(byte[] buf, int offset, int length) { for (int i = 0; i < length; i++) { byte t = buf[offset + i]; if (t == 0xFF || t == 0x0D) //0xFFまたはCRLF以外のCRを見つけたら { WriteEscaping(buf, offset, length); return; } } _socket.Transmit(buf, offset, length); //大抵の場合はこういうデータは入っていないので、高速化のためそのまま送り出す }
public void WriteTo(IPoderosaSocket target) { byte[] data = _strm.ToArray(); target.Transmit(data, 0, data.Length); //target.Flush(); }