안녕하세요.
도저히 생각이 떠오르지 않는 이 답답함 때문에 팁을 얻고자 남겨봅니다.
소켓 채팅을 구현을 하실때 채팅 접속자 목록이 나오는 상태에서 채팅을 하다가
접속자가 버튼을 클릭하지 앟고 정상적인 방법이 아닌 창을 강제로 닫거나 컴퓨터를 종료하였을때
이 접속자가 채팅방을 나가는것을 체크하고자 합니다.
어떠한 방법으로 체크를 하시나요??
댓글 13개
Terrorboy
11년 전
노드라면
옵션중에
disconnect 가 있습니다
옵션중에
disconnect 가 있습니다
senseme
11년 전
sock.io node js 를 이용한건 아니고요
자체 개발을 하고있습니다.
그래서 disconnect는 해당 사항이 없네요.
답변 감사합니다.
내용을 좀 더 덧붙히자면.................
소켓 서버를 이용 할때요
접속자 목록을 출력합니다.
근데 여기서 클라이언트를 아이피 주소로 물고 있기때문에
공유기를 사용하는 내부 아이피 접속자들일 경우에는 외부아이피가 동일하게됩니다.
그렇다면 이 접속자 목록을 실시간 개별 체크해서 컴터를 강제 종료 및 프로그램 강제 종료시
실시간 체크된 개별 접속자 목록을 제외 시켜줘야 하는데요.
방법이 없을까요??
자체 개발을 하고있습니다.
그래서 disconnect는 해당 사항이 없네요.
답변 감사합니다.
내용을 좀 더 덧붙히자면.................
소켓 서버를 이용 할때요
접속자 목록을 출력합니다.
근데 여기서 클라이언트를 아이피 주소로 물고 있기때문에
공유기를 사용하는 내부 아이피 접속자들일 경우에는 외부아이피가 동일하게됩니다.
그렇다면 이 접속자 목록을 실시간 개별 체크해서 컴터를 강제 종료 및 프로그램 강제 종료시
실시간 체크된 개별 접속자 목록을 제외 시켜줘야 하는데요.
방법이 없을까요??
Terrorboy
11년 전
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=17&MAEULNo=8&no=129532&ref=129512
다른 방법으로 짜본적이 없어서 ㅠ.ㅠ
검색해서 링크 띄워 드립니다
다른 방법으로 짜본적이 없어서 ㅠ.ㅠ
검색해서 링크 띄워 드립니다
senseme
11년 전
이렇게까지 검색까지 해주셔서 감사합니다.
위 사항은 참고를 했지만 아직 해결은 못했네요.ㅎㅎ
그래도 좋은 팁 하나라도 놓치지 않고 기억해둬야겠네요^^
지식 하나 더 배워갑니다
즐거운 하루 보내세요
위 사항은 참고를 했지만 아직 해결은 못했네요.ㅎㅎ
그래도 좋은 팁 하나라도 놓치지 않고 기억해둬야겠네요^^
지식 하나 더 배워갑니다
즐거운 하루 보내세요
enoeht
11년 전
엥? 어떤 소켓이던 무관하게 disconnect처리가 안되는 소켓은 모든 언어를 막론해서 없을껀데요...; 대체 어느 환경이길래
senseme
11년 전
소켓 통신을 웹과하는 유형이에요.ㅎㅎ
11년 전
1. 정상적으로 창을 닫는 경우
- 창의 unload 이벤트에 disconnect 코드를 넣으면 됩니다.
: 또는 disconect 했다는 메세지를 서버로 보내고, 서버에서 해당 메세지가 온 클라이언트를 disconnect 하면 됩니다.
2. 비정상적으로 종료하는 경우
: 랜선이 물리적으로 뽑히는 경우, 인터넷이 강제종료된 경우, 핸드폰에서 밧데리가 나가거나, 그에 준하는 경우
- 위의 경우 비동기소켓에서는 접속이 끊어진걸 서버소켓이 체크를 못합니다.
따라서, heartbeat 를 보내는 방식을 씁니다.
하트비트를 체크하여, 특정시간이상(예를 들어 1분) 패킷이 없는 경우 강제종료를 시킵니다.
socketio 도 heartbeat 를 보내는걸로 알고 있는데, 자세히는 확인을 해봐야 할듯.
- 창의 unload 이벤트에 disconnect 코드를 넣으면 됩니다.
: 또는 disconect 했다는 메세지를 서버로 보내고, 서버에서 해당 메세지가 온 클라이언트를 disconnect 하면 됩니다.
2. 비정상적으로 종료하는 경우
: 랜선이 물리적으로 뽑히는 경우, 인터넷이 강제종료된 경우, 핸드폰에서 밧데리가 나가거나, 그에 준하는 경우
- 위의 경우 비동기소켓에서는 접속이 끊어진걸 서버소켓이 체크를 못합니다.
따라서, heartbeat 를 보내는 방식을 씁니다.
하트비트를 체크하여, 특정시간이상(예를 들어 1분) 패킷이 없는 경우 강제종료를 시킵니다.
socketio 도 heartbeat 를 보내는걸로 알고 있는데, 자세히는 확인을 해봐야 할듯.
senseme
11년 전
heartbeat 이거는 어떻게 체크를 하는지요??
enoeht
11년 전
위에 있잖아요... 타이머 돌려서 정기적으로 신호를 보내고 신호에 응답이 없으면 끊긴거로 간주하는걸 heartbeat라 합니다.
senseme
11년 전
아 그게 그런 의미였군요..
지식 얻어갑니다.
감사합니다^^
지식 얻어갑니다.
감사합니다^^
CJack
11년 전
초보자질문...소켓서버이용해서 개발하려면 소켓 서버에 대한 전반적인 지식이 필요한가용?????
senseme
11년 전
흐름도 정도는 구성이 되셔야 할거에요.
그래야 어떻게 구현할것인지를 설계하고 만들 수 있겠죠.
요즘은 socket.io를 이용한 많이들 구현하시더라구요 그걸 참고해보시는것 괜찮을것 같아요
저 같은 경우는 c++를 이용한 소켓을 자체적인 만들고있는거라서요
socket.io나 html5를 이용한 방법에 대해서는 구체적인 답변은 드리기 힘들듯하네요.
그래도 구글이나 네이버 검색하면 소스 및 자료들이 많이나오니 도움이 되시길 바랍니다.
그래야 어떻게 구현할것인지를 설계하고 만들 수 있겠죠.
요즘은 socket.io를 이용한 많이들 구현하시더라구요 그걸 참고해보시는것 괜찮을것 같아요
저 같은 경우는 c++를 이용한 소켓을 자체적인 만들고있는거라서요
socket.io나 html5를 이용한 방법에 대해서는 구체적인 답변은 드리기 힘들듯하네요.
그래도 구글이나 네이버 검색하면 소스 및 자료들이 많이나오니 도움이 되시길 바랍니다.
CJack
11년 전
아이구...이렇게 자세한 답변 너무나 감사합니다.
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 6230 |
senseme
|
12년 전 | 1057 | |
| 6229 |
senseme
|
12년 전 | 1077 | |
| 6228 | 12년 전 | 4441 | ||
| 6227 |
senseme
|
12년 전 | 1496 | |
| 6226 |
senseme
|
12년 전 | 1644 | |
| 6225 | 12년 전 | 5499 | ||
| 6224 | 12년 전 | 3270 | ||
| 6223 |
kiplayer
|
12년 전 | 2140 | |
| 6222 | 12년 전 | 1301 | ||
| 6221 | 12년 전 | 3492 | ||
| 6220 | 12년 전 | 2515 | ||
| 6219 | 12년 전 | 2228 | ||
| 6218 |
senseme
|
12년 전 | 1842 | |
| 6217 |
senseme
|
12년 전 | 1532 | |
| 6216 |
senseme
|
12년 전 | 1529 | |
| 6215 |
senseme
|
12년 전 | 1283 | |
| 6214 | 12년 전 | 2397 | ||
| 6213 |
senseme
|
12년 전 | 1670 | |
| 6212 |
senseme
|
12년 전 | 1345 | |
| 6211 |
senseme
|
12년 전 | 2433 | |
| 6210 |
senseme
|
12년 전 | 1616 | |
| 6209 | 12년 전 | 2219 | ||
| 6208 | 12년 전 | 3445 | ||
| 6207 | 12년 전 | 1226 | ||
| 6206 |
senseme
|
12년 전 | 2197 | |
| 6205 | 12년 전 | 1038 | ||
| 6204 |
kiplayer
|
12년 전 | 1528 | |
| 6203 |
senseme
|
12년 전 | 2123 | |
| 6202 |
senseme
|
12년 전 | 1753 | |
| 6201 |
senseme
|
12년 전 | 4568 | |
| 6200 |
senseme
|
12년 전 | 2665 | |
| 6199 |
senseme
|
12년 전 | 2829 | |
| 6198 |
senseme
|
12년 전 | 1235 | |
| 6197 |
senseme
|
12년 전 | 8552 | |
| 6196 |
senseme
|
12년 전 | 3342 | |
| 6195 | 12년 전 | 1434 | ||
| 6194 |
|
12년 전 | 1291 | |
| 6193 |
senseme
|
12년 전 | 2694 | |
| 6192 |
senseme
|
12년 전 | 5365 | |
| 6191 |
senseme
|
12년 전 | 3415 | |
| 6190 | 12년 전 | 1343 | ||
| 6189 | 12년 전 | 13499 | ||
| 6188 |
웹디자인되고파
|
12년 전 | 1207 | |
| 6187 | 12년 전 | 625 | ||
| 6186 | 12년 전 | 3935 | ||
| 6185 | 12년 전 | 1472 | ||
| 6184 | 12년 전 | 9383 | ||
| 6183 | 12년 전 | 795 | ||
| 6182 |
senseme
|
12년 전 | 1239 | |
| 6181 |
senseme
|
12년 전 | 3223 | |
| 6180 |
senseme
|
12년 전 | 853 | |
| 6179 |
senseme
|
12년 전 | 1767 | |
| 6178 | 12년 전 | 3631 | ||
| 6177 | 12년 전 | 1064 | ||
| 6176 | 12년 전 | 955 | ||
| 6175 |
senseme
|
12년 전 | 5301 | |
| 6174 |
senseme
|
12년 전 | 1428 | |
| 6173 |
senseme
|
12년 전 | 752 | |
| 6172 |
senseme
|
12년 전 | 2741 | |
| 6171 |
senseme
|
12년 전 | 2487 | |
| 6170 |
senseme
|
12년 전 | 1503 | |
| 6169 |
senseme
|
12년 전 | 2929 | |
| 6168 |
senseme
|
12년 전 | 6535 | |
| 6167 | 12년 전 | 2138 | ||
| 6166 | 12년 전 | 747 | ||
| 6165 |
페이지팩트
|
12년 전 | 1904 | |
| 6164 |
네오soft
|
12년 전 | 1857 | |
| 6163 |
|
12년 전 | 2606 | |
| 6162 | 12년 전 | 590 | ||
| 6161 |
|
12년 전 | 1690 | |
| 6160 | 12년 전 | 768 | ||
| 6159 | 12년 전 | 1777 | ||
| 6158 |
|
12년 전 | 2682 | |
| 6157 |
sa2pan
|
12년 전 | 1244 | |
| 6156 | 12년 전 | 3892 | ||
| 6155 | 12년 전 | 9964 | ||
| 6154 | 12년 전 | 1124 | ||
| 6153 | 12년 전 | 2453 | ||
| 6152 |
생각보다몸이앞서다
|
12년 전 | 2125 | |
| 6151 | 12년 전 | 2975 | ||
| 6150 |
kiplayer
|
12년 전 | 6006 | |
| 6149 |
|
12년 전 | 2646 | |
| 6148 | 12년 전 | 2969 | ||
| 6147 |
hwang007
|
12년 전 | 953 | |
| 6146 |
aqqasdf
|
12년 전 | 770 | |
| 6145 | 12년 전 | 1862 | ||
| 6144 | 12년 전 | 5878 | ||
| 6143 |
smwkd
|
12년 전 | 1462 | |
| 6142 | 12년 전 | 4702 | ||
| 6141 | 12년 전 | 929 | ||
| 6140 | 12년 전 | 4096 | ||
| 6139 | 12년 전 | 1241 | ||
| 6138 | 12년 전 | 1096 | ||
| 6137 |
SugarSkull
|
12년 전 | 1681 | |
| 6136 | 12년 전 | 1310 | ||
| 6135 |
한번잘해보자
|
12년 전 | 562 | |
| 6134 |
프리랜서개발자
|
12년 전 | 538 | |
| 6133 |
basaria
|
12년 전 | 20443 | |
| 6132 | 12년 전 | 507 | ||
| 6131 | 12년 전 | 1085 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기