/// <summary> /// 로그인 /// </summary> private MessageStream MessageLogin(MessageReader reader, SocketAsyncEventArgs receiveSendEventArgs) { MessageStream response = null; string user_id = reader.GetParam(0); string user_pw = reader.GetParam(1); string user_name = ""; string recv_faxbox_id = ""; string send_faxbox_id = ""; /// ipep.ToString() : 100.100.106.230:2038 /// ipep.Address.ToString() : 100.100.106.230 IPEndPoint ipep = (IPEndPoint)receiveSendEventArgs.AcceptSocket.RemoteEndPoint; RESULT result = DbModule.Instance.FAS_LoginAgentClient(user_id, user_pw, ipep.ToString(), ref user_name, ref recv_faxbox_id, ref send_faxbox_id); if (result == RESULT.F_DB_NOTEXIST_USER_ID || result == RESULT.F_DB_PASSWORD_MISMATCH) { response = MessageStream.Response(MessagePacketNameEnum.LOGIN, reader.Header, false, "사용자 ID가 없거나 암호가 잘못되었습니다."); } else if (result == RESULT.SUCCESS || result == RESULT.F_DB_LOGIN_DUPLICATED) { /// /CLOSE 전문 발송 (중복 로그인) if (result == RESULT.F_DB_LOGIN_DUPLICATED) { FACInfo oldFacInfo = FACContainer.FindFACInfo(user_id); if (oldFacInfo != null) { if (this.OnLoginDuplicated != null) { this.OnLoginDuplicated(oldFacInfo); } } } DataHoldingUserToken receiveSendToken = (receiveSendEventArgs.UserToken as DataHoldingUserToken); /// Login 된 Client 로 추가 FACContainer.Update(receiveSendEventArgs.AcceptSocket, user_id, user_name); response = MessageStream.Response(MessagePacketNameEnum.LOGIN, reader.Header, "성공"); response.AddPrameters(reader.GetParam(0)); response.AddPrameters(user_name); response.AddPrameters(recv_faxbox_id); response.AddPrameters(send_faxbox_id); response.AddPrameters(((int)Config.CLIENT_ALIVE_INTERVAL).ToString()); response.AddPrameters(((int)Config.CLIENT_LIMIT_RESPONSE_TIME).ToString()); response.AddPrameters(Config.HOME_PATH_HTTP); } else { response = MessageStream.Response(MessagePacketNameEnum.LOGIN, reader.Header, false, result.ToString()); } return(response); }