node.js 서버에서 발생한 http_outgoing:652 문제 ep03 (스테픈 2km완료)

in sct-kr •  7 months ago 

어제 deploy했던 서버에서 큰 문제가 발생했습니다

그 문제는 로그인 이후 이것저것 장바구니나 todo list 목록에

데이터를 몇번 전송하고 다른 아이디로 로그인해서

똑같은 작업을 몇번 하다보면

KakaoTalk_20240215_174812602.png

이러한 문제가 생기는데요

http_outgoing :652 라는 에러가 발생하면서

서버가 터집니다

이게 대체 무슨문제일까 잠시 고민해봤습니다.

에러메시지를 읽어보면 제 server.js파일에 95번째 줄하고 87번째 줄에서 foreach 반복문에서 문제가 발생하는것 같네요

해당줄로 가봤습니다.

KakaoTalk_20240215_174812602_01.png
이게 85번째 줄쯤 있는 반복문인데

쭉 읽어보면 이 반복문은 크게 문제가 없는것처럼 보입니다

jsonfile 이름의 배열을 반복해서 jsonfile의 변수 내부에
존재하는 id 키값과 client쪽에서 전송해준 userid 값이 일치하는 값이 나올경우 그에 해당하는 인덱스 값의 위치에
존재하는 jsonfile의 배열을 하나 잘라내서 userinfo값과 교체한뒤

userinfo라는 객체를 client에 응답 한다는 내용인데요

KakaoTalk_20240215_174812602_02.png

위에 함수는 딱히 문제를 모르겠군요

한가지 의심가는건

조건문마다 res.send를 넣었는데

여기서 생기는 문제가 아닐지 싶긴 한데

KakaoTalk_20240215_174812602_03.png

구글링을 해봐도 저와 비슷한 오류를 띄우는 분은 없는거같고

이런식으로 오류가 뜨면 서버에서 여러번 응답을 해서

발생하는 오류인것 같습니다

다시 코드를 찾아봐야겠네요

서버가 여러번 응답할만한 문제는 제가 짠 api에서는

반복문에서만 발생할테니

qq.PNG

코드를 찾다보니

드디어 발견했습니다.

res.send () 이 부분이 foreEach반복문 내부에 있어서

발생하는 문제였네요 ;;

애초에 반복문 내부에 있을 필요가 없는 결과값인데

왜 저렇게 넣고 짰을까 싶습니다.;

저 문제때문에 하루종일 코드 수정하고 테스트 하고 했던걸 생각하면...

한숨이 나오네요 ㅠㅠ

그래도 이제야 원인을 찾아서 다행입니다

해당 부분을 전부 수정하면 해결되겠군요

KakaoTalk_20240215_174812602_04.png

이제 잘 들어오는군요?

이렇게 처음 만들어본 서버에서 api를 사용해보고

제가 직접 회원가입 todolist 장바구니 같은걸 관리하는 api도 직접 짜봤습니다

rest API 개념도 숙지해야해서

이번에 만들어본 서버는 정말 외부와의 통신을 하는거에

큰 도움이 되는 시간이었네요


오늘 스테픈은 가볍게 2km 완료했습니다.

KakaoTalk_20240215_191231573_02.jpg

KakaoTalk_20240215_191231573_01.jpg

KakaoTalk_20240215_191231573.jpg

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!