본문 바로가기

C++

resend 정책 적용 2017.03.03 국내GW에 국내 발송을 대상으로 하는 noACK 재전송 정책 적용 코드를 완성하였다 가상망에서 테스트 하며 2~3개의 버그를 찾아서 같이 수정하는 성과도 있었다 ack ttl -> resend wait time : nResendWaitTimemax resend count : nResendMaxCount nResendWaitTime만큼 기다리고 응답이 없다면 nResendMaxCount만큼 재전송한다예를 들어 nResendWaitTime이 10sec이고 nResendMaxCount가 2라면전송 10초 wait -> 10초 안에 응답이 있다면 ack동작 처리 / 10초 동안 응답이 없다면 nResendMaxCount 횟수(2) 확인 후 재전송->다시 10초 wait-> 10초 안에 응답이 있다면 ack동작 .. 더보기
bug fix 2017.03.03 euckr의 경우 한글을 표현하는데 2byte가 필요하다 그래서 문자열을 복사할때 바이트 단위로 복사하는 함수를 사용할 경우한글이 잘리는 경우가 발생 할 수 있다(strncpy(), string::substr() 동일) 그래서 마지막 글자가 한글인지, 영숫자인지 확인하고(euckr의 경우 한글의 경우 1번째 바이트는 ascii에 포함하지 않는 바이트이다)한글일 경우 한바이트 덜 복사하는 함수를 만들었는데strncpy_euckr(string dst, string src, int len); 이런 형태 였다 근데 문제는 이 함수를 사용하면서 터졌다파라미터 src와 dst를 반대로 넣은 코드를 작성했던것대부분 잘 넣었는데 한군대 코드에서만, 이슈가 발생하였다상용서버에 반영전에 찾아서 다행이었다 ㅠ 결론: 파라미.. 더보기
2016-07-25 helloredis -> hiredis fork hello redis에서 hiredis를 가져다 쓰는 것보단hiredis를 포크해서 하는게 나을 것 같아포크 하고 수정했다. hello redis에서 만든 인터페이스를 hiredis에도 적용하고 푸시했다 https://github.com/jaehyok/hiredis/tree/helloredis 더보기
2016-07-11 build fail hello world이후문자열 이후자신감이 붙어서 이번엔 redis다!! 라고 생각하고 hiredis 인클루드 하는 순간 또 좌절.. ㅋㅋㅋ 프로젝트 세팅은 "User Header Search Paths"에 등록하면 되는것 같은데...안됌 ㅠ 사람불러야데.. ㅠ 내일 xcode 전문가에게 물어봐야겠다ㅠ 그나저나 2010 맥북에어는 배터리 말고는 거의 전영역 만족중.. ㅎㅎ 더보기
2016-07-10 문자열 자르기 성공 예전글에서 실패 했던 문자열 자르기 삽질 후 성공!! 예전글 --> 2016/07/10 - 2016-07-10 문자열 컨트롤은 역시 어렵다 맥북은 utf8환경 이기에 한글을 표현할 때 3byte를 사용하는 것으로 알고 있다 그래서 아래 코드를 실행해보면 아래 처럼 나온다. utf8에서 한글을 자를 수 있다 치지만, 중국어, 태국어, 중동... 모르겠다.. 아하하 암튼, 결론은 string::substr()함수는 글자수 기준으로 굴자를 자르는게 아니라, 바이트 단위로 글자를 자르기 때문에 \352 같이 출력이 되었던 것이다.그리고 utf8에서 한글은 3byte. 참고로 위의 코드를 콘솔에서 실행하면 다음과 같다 끗 ps) 터미널 이쁜것 찾아봐야 겠다 ㅠ 더보기
2016-07-10 문자열 컨트롤은 역시 어렵다 object-c는 아직 익숙치 않기에c++로 간단한것들 만들어 보려고 하는데첫번째 함수부터 난관에 봉착.. ㅠ 우선 코드는 다음과 같다. 콘솔창에 결과는 다음과 같다. substring이 왜 내맘같지 않을까 ㅠ 월욜날 출근하면 고수들한테 물어봐야지 ㅠㅠ 더보기