public int Connect(object obj, string ip_address, int port) { SESSION_CONNECT_ERROR ret = SESSION_CONNECT_ERROR.SUCCESS; try { CreateTcpSocket(); IPAddress address = IPAddress.Parse(ip_address); IPEndPoint end_point = new IPEndPoint(address, port); SetObject(obj); m_Socket.Connect(end_point); } catch (SocketException sock_ex) { ret = SESSION_CONNECT_ERROR.E_CONNECT_SOCKET; LogManager.Error("Socket connect error: socket exception = " + sock_ex.ErrorCode.ToString(), sock_ex); } catch (Exception ex) { ret = SESSION_CONNECT_ERROR.E_CONNECT_OTHER; LogManager.Error("Socket connect error: ", ex); } return((int)ret); }
private int OnAsyncConnect(SocketAsyncEventArgs args) { Debug.Assert(null != m_ConnectedEvent); Debug.Assert(m_SendEventArgs == args); SESSION_CONNECT_ERROR ret = SESSION_CONNECT_ERROR.SUCCESS; if (args.SocketError == SocketError.Success) { m_State = SESSION_STATE.CONNECTED; TcpSession sess = args.UserToken as TcpSession; Debug.Assert(null != sess); m_ConnectedEvent(sess.Object); } else { ret = SESSION_CONNECT_ERROR.E_CONNECT_OTHER; LogManager.Error("Socket connect error: error code = " + args.SocketError.ToString()); } return((int)ret); }