コード例 #1
0
        public void Update()
        {
            var          res = DataTransfer.ReadWords(Querer);
            ReadComplete rc  = new ReadComplete(RunWorkerCompleted);

            rc.BeginInvoke(res, null, null);
        }
コード例 #2
0
        private void SocketArg_Completed(object sender, SocketAsyncEventArgs e)
        {
            lock (locker)
            {
                switch (e.LastOperation)
                {
                case SocketAsyncOperation.Receive:
                    //数据接收成功且不为0,则将收到数据写入缓存池,并触发接收完成事件
                    if (e.SocketError == SocketError.Success && e.BytesTransferred > 0)
                    {
                        bufferPool.EnCache(socketArg.Buffer, socketArg.BytesTransferred);

                        ///收到报文记录
                        byte[] logByte = new byte[socketArg.BytesTransferred];
                        Array.Copy(socketArg.Buffer, logByte, logByte.Length);
                        log.ByteSteamLog(ActionType.RECEIVE, logByte);

                        ReadComplete?.Invoke(this);
                    }
                    else
                    {
                        Clear();
                        if (_m_ConnectStatePool != null)
                        {
                            _m_ConnectStatePool.Return(this);
                        }
                    }
                    break;

                case SocketAsyncOperation.Send:
                    //数据发送成功且不为0,触发发送完成事件
                    if (e.SocketError == SocketError.Success && e.BytesTransferred > 0)
                    {
                        SendComplete?.Invoke(this);
                    }
                    else
                    {
                        Clear();
                        if (_m_ConnectStatePool != null)
                        {
                            _m_ConnectStatePool.Return(this);
                        }
                    }
                    break;

                default:
                    Clear();
                    if (_m_ConnectStatePool != null)
                    {
                        _m_ConnectStatePool.Return(this);
                    }
                    break;
                }
            }
        }
コード例 #3
0
 public void RaiseReadComplete(string content)
 {
     ReadComplete?.Invoke(this, content);
 }
コード例 #4
0
ファイル: SAEAServer.cs プロジェクト: MrChengM/DriverLibrary
 private void ConnectState_ReadComplete(SaeaConnectState obj)
 {
     ReadComplete?.Invoke(obj);
 }
コード例 #5
0
 /// <summary>
 /// 読み取り完了通知delegate登録
 /// </summary>
 /// <param name="func"></param>
 internal void RegisterReadComplete(ReadComplete func)
 {
     ReadCompleteNotify += func;
 }
コード例 #6
0
ファイル: APMServer.cs プロジェクト: MrChengM/DriverLibrary
 private void APMServer_ReadComplete(APMConnectState arg1, int arg2)
 {
     ReadComplete?.Invoke(arg1);
 }
コード例 #7
0
ファイル: OpcGroup.cs プロジェクト: simple555a/OpcDaClient
 private void OnReadComplete(ReadCompleteEventArgs e)
 {
     ReadComplete?.Invoke(this, e);
 }
コード例 #8
0
 public void MarkComplete()
 {
     ReadComplete?.Invoke(this, null);
 }