웹소켓 메신저 구현중 상대 목록
- 작성자 :
- 권*천
- 작성일 :
- 2016-07-22 14:16:34
- 조회수 :
- 842
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
안녕하세요.
메신저 구현중 질문이 있어서 글을 남깁니다.
각각 다른 pc에 2명의 사용자를 로그인 하였는데 메신저에는
다른 사용자의 이름은 나타나지 않고 로그인한 본인의 이름만 나타납니다.
로그인 방식은 조금 변경 하였습니다.(이미 만들어진 객체 LoginVO 를 사용하지 않고 새롭게 VO를 만들었습니다.
아래는 소스부분 입니다.
-컨트롤러
@RequestMapping(value = "/uat/uia/actionLogin.do")
public String actionLogin(@ModelAttribute("loginVO") CustomerVO loginVO, HttpServletRequest request, ModelMap model) throws Exception {
// 1. 일반 로그인 처리
CustomerVO resultVO = loginService.actionLogin(loginVO);
if (resultVO != null && resultVO.getIdCustomer() != null && !resultVO.getIdCustomer().equals("")) {
// 2-1. 로그인 정보를 세션에 저장
request.getSession().setAttribute("loginVO", resultVO);
return "redirect:/index.do";
-CustomerVO 객체
public class CustomerVO {
/**
* 회원 email
*/
private String idCustomer;
/**
* 회원 이름
*/
private String nameCustomer;
/**
* 비밀번호
*/
private String passwordCustomer;
/**
* 핸드폰
*/
private String numbCellphone;
/**
* id
*/
private String id;
/**
* email 뒷부분
*/
private String tail;
/**
* email 수신여부
*/
private boolean emailYn;
/**
* sms 수신여부
*/
private boolean smsYn;
-웹소켓 구동시 리스트 가져오는 부분(수정 안함)
/**
* 연결되어있는 user정보를 가져오는 함수
* @return user set
*/
private Set<String> getUsers() {
HashSet<String> returnSet = new HashSet<String>();
for (Session session : connectedAllUsers) {
if (session.getUserProperties().get("username") != null) {
returnSet.add(session.getUserProperties().get("username").toString());
};
}
return returnSet;
}
- EgovMessengerMain.jsp
function processOpen() {
connectionType = "firstConnection";
username = "${loginVO.nameCustomer}";
webSocket.send(JSON.stringify({ "connectionType" : connectionType, "username" : username }));
}
메신저 구현중 질문이 있어서 글을 남깁니다.
각각 다른 pc에 2명의 사용자를 로그인 하였는데 메신저에는
다른 사용자의 이름은 나타나지 않고 로그인한 본인의 이름만 나타납니다.
로그인 방식은 조금 변경 하였습니다.(이미 만들어진 객체 LoginVO 를 사용하지 않고 새롭게 VO를 만들었습니다.
아래는 소스부분 입니다.
-컨트롤러
@RequestMapping(value = "/uat/uia/actionLogin.do")
public String actionLogin(@ModelAttribute("loginVO") CustomerVO loginVO, HttpServletRequest request, ModelMap model) throws Exception {
// 1. 일반 로그인 처리
CustomerVO resultVO = loginService.actionLogin(loginVO);
if (resultVO != null && resultVO.getIdCustomer() != null && !resultVO.getIdCustomer().equals("")) {
// 2-1. 로그인 정보를 세션에 저장
request.getSession().setAttribute("loginVO", resultVO);
return "redirect:/index.do";
-CustomerVO 객체
public class CustomerVO {
/**
* 회원 email
*/
private String idCustomer;
/**
* 회원 이름
*/
private String nameCustomer;
/**
* 비밀번호
*/
private String passwordCustomer;
/**
* 핸드폰
*/
private String numbCellphone;
/**
* id
*/
private String id;
/**
* email 뒷부분
*/
private String tail;
/**
* email 수신여부
*/
private boolean emailYn;
/**
* sms 수신여부
*/
private boolean smsYn;
-웹소켓 구동시 리스트 가져오는 부분(수정 안함)
/**
* 연결되어있는 user정보를 가져오는 함수
* @return user set
*/
private Set<String> getUsers() {
HashSet<String> returnSet = new HashSet<String>();
for (Session session : connectedAllUsers) {
if (session.getUserProperties().get("username") != null) {
returnSet.add(session.getUserProperties().get("username").toString());
};
}
return returnSet;
}
- EgovMessengerMain.jsp
function processOpen() {
connectionType = "firstConnection";
username = "${loginVO.nameCustomer}";
webSocket.send(JSON.stringify({ "connectionType" : connectionType, "username" : username }));
}
A
안녕하세요.
표준프레임워크 센터 입니다.
사용자정보를 저장하고 유지하는 설계가 잘못될꺼 같습니다.
묻고 답하기는 표준프레임워크의 대한 내용을 다루는 공간입니다.
업무에 관련된 질문이신거 같습니다.^^
감사합니다.
표준프레임워크 센터 입니다.
사용자정보를 저장하고 유지하는 설계가 잘못될꺼 같습니다.
묻고 답하기는 표준프레임워크의 대한 내용을 다루는 공간입니다.
업무에 관련된 질문이신거 같습니다.^^
감사합니다.