Microsoft MVP성태의 닷넷 이야기
TCP PSH flag 패킷 수신 에러 [링크 복사], [링크+제목 복사],
조회: 11058
글쓴 사람
강성봉 (sbkang2010 at naver.com)
홈페이지
첨부 파일
 

안녕하십니까 ~

좋은 정보 공유하게되어 감사합니다.

저희가 C# 을 이용하여 기기간 인터넷 TCP패킷을 송수신하고 있습니다.
그런데...
어느 순간에 두대의 장치(R1, R2)가 한대의 장치(H1) 에게 TCP+PSH 형태로 delay를 최소화하여
혹은 고속으로 보내면...

H1 장비에서 에러 (array error or instance error) 가 발생하고, R1 혹은 R2 와 H1 이
통신이 이루어지지 않습니다.

해결 방법을 찾고 있습니다만
- 예를들면 Packet 수신처리를 빠르게 혹은 수신된 패킷 처리를 최소화등

혹시 경험 및 해결안이 있으시면 공유 부탁드립니다.

감사합니다.








[최초 등록일: ]
[최종 수정일: 2/10/2022]


비밀번호

댓글 작성자
 



2022-02-10 03시51분
제가 코드를 분석하고 이야기하는 것은 아니므로, 그냥 참고로만 들어주시면 되겠습니다.

우선, 에러라고 하면서 다소 두리뭉실하게 "array error or instance error"를 언급했는데, 아마도 소켓 측의 오류 메시지는 아닌 듯합니다. 그렇다면 (R1, R2) - (H1)간의 App 레벨에서 정의한 프로토콜을 잘못 처리된 것으로 볼 수 있는데요, 예를 들어, 기존에는 거의 대부분의 통신이 (송신 측의) 하나의 send와 (수신 측의) 하나의 recv로 이뤄지다가 TCP+PSH를 처리하면서(또는 고속 처리를 하면서) 송신 측의 여러 번에 걸친 send를 수신 측에서 조합하는 코드를 정상적으로 만들지 않는... 그런 식의 오류로 여겨집니다.
정성태

NoWriterDateCnt.TitleFile(s)