public CSocketClient(string strIP, int iPort) { try { this.iPort = iPort; IPAddress ipAddress = IPAddress.Parse(strIP); this.ipLocal = new IPEndPoint(ipAddress, this.iPort); this.connState = enumConnState.None; this.OnConnect += new ConnectionDelegate(SocketClient_OnConnect); this.OnConnectAttempt += new ConnectionDelegate(SocketClient_OnConnectAttempt); this.OnDisconnect += new ConnectionDelegate(SocketClient_OnDisconnect); this.OnDisconnectAttempt += new ConnectionDelegate(SocketClient_OnDisconnectAttempt); this.OnWrite += new ConnectionDelegate(SocketClient_OnWrite); this.OnRead += new BufferEventHandler(SocketClient_OnRead); this.OnError += new ErrorDelegate(SocketClient_OnError); this.sckMain = null; this._strErrorMessage = ""; } catch (Exception se) { if (OnError != null) { OnError(se.Message, 0); } } }
private void SocketClient_OnDisconnect() { if (this.connState == enumConnState.ConnectionAttempt) { this.connState = enumConnState.ConnectionAttemptFailed; } else { this.connState = enumConnState.Disconnected; } }
private void SocketClient_OnError(string strErrorMessage, int iErrorCode) { switch (this.connState) { case enumConnState.ConnectionAttempt: this.connState = enumConnState.ConnectionAttemptFailed; break; case enumConnState.DisconnectionAttempt: this.connState = enumConnState.Disconnected; break; default: if (iErrorCode != 0) { this.connState = enumConnState.ConnectionError; } break; } this._strErrorMessage = iErrorCode.ToString() + " - " + strErrorMessage; }
private void SocketClient_OnRead(byte[] rgbyBuffer) { this.rgbyReceivedData = rgbyBuffer; this.connState = enumConnState.ReceivedData; }
private void SocketClient_OnWrite() { this.connState = enumConnState.DataSent; }
private void SocketClient_OnDisconnectAttempt() { this.connState = enumConnState.DisconnectionAttempt; }
private void SocketClient_OnConnect() { this.connState = enumConnState.Connected; }