반응형 Python2 [gRPC] Servicer에서 요청 처리할 때, 주의 사항!! 기본적인 서버-클라이언트 구현에 대한 부분은 github나 태주네 블로그에 잘 설명되어 있기 때문에 핵심만 간단히!! ^^ 문제 상황 요청을 처리하려고 하는데, 간혹 요청한 내용에 대한 응답이 아닌 다른 내용이 수신돼요!! ㅠㅠ 해결 방법 Request를 처리하는 Thread에서 Servicer를 호출하는 시점에 class id를 확인했을 때, 동일한 id를 사용하는 것으로 보아 동일한 instance를 사용하는 것을 알 수 있다. 따라서, class를 self.variable와 같이 class 멤버로 request마다 instance를 생성하여 사용할 경우, 새로운 reqeust로 인해 이전 self.variable은 본 프로그램이 관리/접근할 수 없는 상태(C/C++에서의 dangling pointe.. 2023. 11. 16. [gRPC] 패킷의 마지막 String이 잘리는 이슈 정의한 proto로 java에서 python을 host로 하여 통신을 하는 중에 간헐적(주당 수차례)으로 발생한 이슈다. message A { string message = 1; int32 number = 2; repeated int32 index = 3; string lang = 4; string options = 5; } options 값이 없이 들어오는 경우가 간헐적으로 발생하였다. 이유는 정확히 파악이 안되었는데, 오~래 전에 C++로 서버 제작했을 때 마주한 버그 중에 고정 길이 패킷이 아닌 경우 유사한 현상을 경험했었다. 특히 마지막에 문자열 데이터를 가지고 있는 패킷들에서 송신 또는 수신 시 문자열 처리 중 오류로 마지막 문자열들이 사라지는 현상들이었다. 문자열이란 것이 Encoding 방식.. 2023. 3. 21. 이전 1 다음 반응형