public bool Read(out string value) { if (_offset + 1 > _len) { ViDebuger.Warning("Read Fail string"); value = string.Empty; _offset = _len; return(false); } Int32 len = ViBitConverter.ToUInt8(_buffer, _offset); _offset += 1; if (len == 255) { if (_offset + 2 > _len) { ViDebuger.Warning("Read Fail string"); value = string.Empty; _offset = _len; return(false); } len = ViBitConverter.ToUInt16(_buffer, _offset); _offset += 2; } value = ViBitConverter.ToString(_buffer, _offset, len); _Print("string", value); _offset += len; return(true); }
bool UpdateStream(out UInt16 flag, out ViIStream IS) { flag = 0; IS = null; NetworkStream stream = _client.GetStream(); if (_receiver.Size == 0) { if (_client.Available < RECEIVE_HEAD_SIZE) { return(false); } SetConnectState(true); int bufferSize = stream.Read(_receiveHead, 0, RECEIVE_HEAD_SIZE); UInt16 flag_ = ViBitConverter.ToUInt16(_receiveHead, 0); UInt32 size = ViBitConverter.ToUInt32(_receiveHead, RECEIVE_SIZE_OFFSET); _receiver.SetCompleteSize(flag_, size); } _receiver.Read(stream); if (_receiver.IsComplete == false) { return(false); } _IS.Init(_receiver.Data, _receiver.Size); _receiver.Clear(); IS = _IS; return(true); }
public bool Read(out Int8 value) { if (_offset + 1 > _len) { ViDebuger.Warning("Read Fail Int8"); value = (Int8)0; return(false); } value = ViBitConverter.ToInt8(_buffer, _offset); _Print("Int8", value); _offset += 1; return(true); }
public ViTcpClient() { UInt16 index = 0; UInt32 size = 0; _indexBytes = ViBitConverter.GetBytes(index); _lengthBytes = ViBitConverter.GetBytes(size); _receiveHead = new byte[RECEIVE_HEAD_SIZE]; _OS.Append(_indexBytes); _OS.Append(_lengthBytes); _receiver = new ViTcpCLientReceiver(RECEIVE_BYTES_SIZE); }
public bool Read(out Int32 value) { if (_offset + 4 > _len) { ViDebuger.Warning("Read Fail Int32"); value = 0; _offset = _len; return(false); } value = ViBitConverter.ToInt32(_buffer, _offset); _Print("Int32", value); _offset += 4; return(true); }
public bool Read(out UInt16 value) { if (_offset + 2 > _len) { ViDebuger.Warning("Read Fail UInt16"); value = (UInt16)0; _offset = _len; return(false); } value = ViBitConverter.ToUInt16(_buffer, _offset); _Print("UInt16", value); _offset += 2; return(true); }
public bool Read(out double value) { if (_offset + 8 > _len) { ViDebuger.Warning("Read Fail double"); value = 0; _offset = _len; return(false); } value = ViBitConverter.ToDouble(_buffer, _offset); _Print("double", value); _offset += 8; return(true); }
public bool Read(out float value) { if (_offset + 4 > _len) { ViDebuger.Warning("Read Fail float"); value = 0; _offset = _len; return(false); } value = ViBitConverter.ToFloat(_buffer, _offset); _Print("float", value); _offset += 4; return(true); }
public bool Read(out Int64 value) { if (_offset + 8 > _len) { ViDebuger.Warning("Read Fail Int64"); value = (Int64)0; _offset = _len; return(false); } value = ViBitConverter.ToInt64(_buffer, _offset); _Print("Int64", value); _offset += 8; return(true); }
public void Update() { try { NetworkStream stream = _client.GetStream(); _lengthBytes = ViBitConverter.GetBytes(_OS.Length - SEND_HEAD_SIZE); _OS._SetValue(SEND_SIZE_OFFSET, _lengthBytes, _lengthBytes.Length); stream.Write(_OS.Cache, 0, _OS.Length); _OS.Reset(); _OS.Append(_indexBytes); _OS.Append(_lengthBytes); } catch (System.ObjectDisposedException ex) { SetConnectState(false); } catch (Exception ex) { SetConnectState(false); } }