개발 Q&A

제목 트렐로 써보신분?? (소켓관련 질문)
글쓴이 지훈임돠 작성시각 2013/10/16 00:15:38
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 14408   RSS
소켓 프로그램에 익숙하지 않아서 질문드립니다.
최근 대부분의 웹서비스는 실시간협업을 위해 소켓을 많이 사용하는 것같은데요.
트렐로를 예로 들면, 누군가 혹은 다른브라우저 상의 내가 카드의 이름을 바꾸면 1초내로
내 브라우저에서 카드명이 바뀌게 됩니다. 카드명 뿐만 아니라 코멘트 등의 다른 것도 마찬가지지요.

이 경우 이벤트 모델을 어떻게 쓸지 고민입니다.
A,B,C,D,E... 는 소켓으로 접속되어 있고,
A 가 카드명을 바꾸면,
이와 관련된 모든이들에게 카드명을 바꿨다는 이벤트를 보내고,
카드명을 바꿨다는 이벤트를 받은 이들은,
화면에서 ajax 로 처리를 해주게 되는...
그런 형식인지..?

혹시 경험담이나 좋은 모델이 있으면 알려주시면 감사하겠습니다.

 다음글 - 값이 안나옵니다 (1)
 이전글 테스트 으으 (4)

댓글

milosz / 2013/10/16 06:57:54 / 추천 0
ajax는 클라이언트에서 서버에 요청해야 데이터를 전송해주는 방식이고 소켓은 클라이언트와 서버가 포트를 열고 실시간으로 데이터를 주고 받는 방식인데요. 간단하게 설명 드리면 접속되어 있는 A, B, C, D, E... 들이 일종의 목록으로 서버에 저장이 되어 있는데 새로운 정보가 들어오면 이 목록에 해당하는 모든 사람들에게 데이터를 전송해줍니다.(이걸 브로드캐스팅 해준다고 하더라구요) 웹소켓에서는 서버에서 데이터가 전송되면 정의한 함수가 동작하게 되어 있는데 그부분에서 데이터를 처리하고 화면에 반영해주는 식입니다.

소켓 프로그래밍으로 채팅 만드는 예제를 찾아보시면 쉽게 알 수 있을겁니다.
지훈임돠 / 2013/10/16 11:46:42 / 추천 0
miloszs// 아 제가 잠시 개념을 혼동했군요. ajax에서 비동기요청이라는 의미를 빼고 웹페이지의 부분치환이라는 의미로 사용했습니다. ;;;;

소켓으로 웹상에서 채팅이라던가 알림시스템은 만들어봤습니다^^
다만 깔끔한 느낌이 들지 않아 다른분들은 어떠한 모델을 사용하는지 궁금해서 여쭤봤습니다.

저는 command 디자인패턴을 썼었습니다. ;