Example #1
0
        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);
        }
Example #2
0
        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);
        }