웹소켓 조루 현상(근황 : 포켓몬고 함ㅋㅋ)

소켓 연결이 금방금방 끊어지는 경우가 있다. 이번에 회사 ars 서버를 교체하면서 데이터 들어오는거 뜯어보고 재정비하며 한바탕 난리가 났었음. 다 뜯어고치고 마무리 됐다 싶은 순간에 웹소켓이 금방금방 끊어지는걸 확인했다. 이건 우리쪽 코드 문제가 아니라 서버 쪽이 문제인거 같아서 이런저런 시도를 해보는데

웹소켓 연결이 금방 끊어질 때 확인할 사항 (Websocket Closed) 회사 서비스에서 예약이 들어오면 웹소켓을 통해 메세지를 전달받고 있다. 그런데 IE를 제외한 브라우저에서 메세지 전달이 어느 순간 끊어지는 현상이 발생했다. 좀 더 살펴보니 브라우저에서는 1분이 지나면 websocket.onclose 함수가 호출되고 있었다. 즉, 1분 마다 웹소켓이 끊어지고 있었다. 삽질 혹시나 하는 마음에 웹서버 설정 파일을 열었는데 클라이언트와 연결 시간을 관리하는 keepalive_timeout이 아래 사진 처럼 65초였다. 이거다!...

scshim.tistory.com

이렇다길래 서버쪽에 의미없는 문자를 주기적으로 보내는 구문을 작성해줬더니 웹소켓이 조금 더 오래감;

1분도 안가던게 10분?

ㅅㅂ 결국은 끊어지길래 close 이벤트에다 재연결 구문을 작성했다.

근데 그렇게 해놓으니까 재연결 할때마다 소켓이 새로 선언되고 기존 이벤트들이 다 삭제되더라고ㅋㅋㅋㅋㅅㅂ 조빱 신입이 그런걸 알리가 있나. 뭐가 문제인지도 모르는채로 ㅅㅂ 이벤트들 왜 안걸리는지 또 좃23빠지게 해결책을 찾다가 원래 소켓이 새로 선언되면 기존 이벤트들의 연결이 끊어진다는걸 뒤늦게 알았다.

소켓 선언과 이벤트들을 함수로 묶어서 소켓 재선언할때마다 이벤트들도 정의해주는 방법으로 해결했다,,함수 안에 close 이벤트 있고 close 이벤트에서 함수를 호출하니까, 이거도 재귀함수라고 하는게 맞겠지.

지금 회사에서 뺑이치다 한건 해결하고 신나서 잠깐 블로그 글쓰는거라 근황을 자세히 올리지는 못하는데

포켓몬고 시작했다. 이삼주 정도됐나. 여친, 과장, 선배 다 따라잡았다ㅋㅋㅋㅋㅋㅋㅋ난 포친놈이다,,,,,,,,,,,,,

이번에 그림자 뮤츠 레이드 나와서 고인물들 섹1시흥2분했는데, 원격 공략을 막아놔서 나인아틱(게임회사) 측이 욕을 두1집어지게 먹는중. 근데 포켓몬고의 취지와 정체성을 생각하면 사실 원격 공략이 코로나 특수였을뿐이고, 그게 다시 정상화되어가는거라 봐주는게 맞는데,,이해는 하는데

지방엔 포켓몬고 하는 사람들이 없어서 ㅅㅂ 뮤츠를 잡고 싶어도 잡을 수가 없다. 그림자 뮤츠는 적어도 6명 이상 들러붙어서 두들겨 패야 되는애라.

그래서 정중히 요청합니다.

우리 같이 포켓몬고 합시다ㅋㅋㅋㅋㅋㅋ

게임 새로 시작하거나 복귀 유저이신 분들은

제 리퍼럴 코드(친구추천 코드) " VJWCV3CKC " 입력해주시면 더욱ㄳ

대구이신 분들 환영. 같이 해요. 제발. 이거 같이해야 훨씬 재밌는데 친구들 아무도 안해줌!!!!!!!

저도 낯 뒤지게 가리니까 잽싸게 현장 레이드만 뛰고 빠빠이 해도 좋고,

만남을 원하시면 하루좽일 포켓몬 얘기만 쳐하는거 들으실 각오하시고.