public IoTSendStringAsyncSocket(INetworkBaseWrapper networkWrapper, IoTControlServiceData serviceData, CancellationToken?cancelToken, int timeOutMs = 4000)
     : base(cancelToken, timeOutMs)
 {
     _serviceData    = serviceData;
     _networkWrapper = networkWrapper;
     _networkWrapper.DataReceived += NetworkWrapper_DataReceived;
 }
 protected override void Dispose(bool disposing)
 {
     lock (_lockObj)
     {
         _networkWrapper.DataReceived -= NetworkWrapper_DataReceived;
         _networkWrapper = null;
     }
 }