private void ConnectCompleted(object sender, SocketAsyncEventArgs e) { try { if (e.SocketError != SocketError.Success) { HandleSocketError(e.SocketError); return; } Debug.Assert(e.UserToken != null); var token = (Tuple <bool, string, IrcRegistrationInfo>)e.UserToken; // Create stream for received data. Use SSL stream on top of network stream, if specified. this.receiveStream = new CircularBufferStream(socketReceiveBufferSize); #if SILVERLIGHT this.dataStream = this.receiveStream; #else this.dataStream = GetDataStream(token.Item1, token.Item2); #endif this.dataStreamReader = new StreamReader(this.dataStream, TextEncoding); this.dataStreamLineReader = new SafeLineReader(this.dataStreamReader); // Start sending and receiving data to/from server. this.sendTimer.Change(0, Timeout.Infinite); ReceiveAsync(); HandleClientConnected(token.Item3); } catch (SocketException exSocket) { HandleSocketError(exSocket); } catch (ObjectDisposedException) { // Ignore. } #if !DEBUG catch (Exception ex) { OnConnectFailed(new IrcErrorEventArgs(ex)); } #endif finally { e.Dispose(); } }
private void ConnectCompleted(object sender, SocketAsyncEventArgs e) { try { if (e.SocketError != SocketError.Success) { HandleSocketError(e.SocketError); return; } Debug.Assert(e.UserToken != null); var token = (Tuple<bool, string, IrcRegistrationInfo>)e.UserToken; // Create stream for received data. Use SSL stream on top of network stream, if specified. this.receiveStream = new CircularBufferStream(socketReceiveBufferSize); #if SILVERLIGHT this.dataStream = this.receiveStream; #else this.dataStream = GetDataStream(token.Item1, token.Item2); #endif this.dataStreamReader = new StreamReader(this.dataStream, TextEncoding); this.dataStreamLineReader = new SafeLineReader(this.dataStreamReader); // Start sending and receiving data to/from server. this.sendTimer.Change(0, Timeout.Infinite); ReceiveAsync(); HandleClientConnected(token.Item3); } catch (SocketException exSocket) { HandleSocketError(exSocket); } catch (ObjectDisposedException) { // Ignore. } #if !DEBUG catch (Exception ex) { OnConnectFailed(new IrcErrorEventArgs(ex)); } #endif finally { e.Dispose(); } }