안녕하세요 WPF TCP통신을 통해서 장비와 통신하는 프로그램을 개발중입니다.
SuperSocket을 사용해서 작성 중인데 통신 장비 중 헤더가 없는 통신(ASCII 통신)을 해야됩니다. SuperSocket에 FixedHeaderFilter를 사용하는데 헤더가 없으면 에러가 발생하더라고요… (헤더 사이즈를 0으로 해도 안되더라고요…)
혹시나 헤더가 없는경우 SuperSocket을 사용해서 통신하는 방법 아시는분 있을까요? 예시도 첨부해주시면 감사하겠습니다 ㅠ…
안녕하세요, 해당 라이브러리를 써본 적이 없어 자세하게 말씀은 못드리겠네요…
검색해보니 라이브러리 깃허브에서 도움이 될 것 같은 정보 (?) 를 찾았습니다.
먼저 FixedHeaderReceiveFilter
를 찾아봤는데요, 주석에 다음과 같은 문구가 있습니다.
it is the Receive filter base for the protocol which define fixed length header and the header contains the request body length,
you can implement your own Receive filter for this kind protocol easily by inheriting this class
반드시 헤더가 있어야 하는 것처럼 보이네요… 자세한 내용은 아래 링크를 참조해주세요.
대안으로, terminator가 존재한다면, 그리고 매번 terminator가 같다면 TerminatorReceiveFilter
로 교체해보시는 것도 방법일 것으로 생각됩니다.
이 클래스의 주석에는 다음 내용이 있습니다.
The receive filter which is designed for the protocol whose messages must have a same terminator
자세한 내용은 아래 링크를 참조해주세요.
감사합니다. 혹시 통신을 구현하신다면 라이브러리를 사용하지않고 직접 구현하시나요?
사용하시는 라이브러리가 있으시다면 공유해주시면 감사드리겠습니다 (_ _)
예 저는 System.Net.Sockets
사용해서 구현해본 것이 전부라… 좋은 라이브러리는 다른 분들께서 답변 주실 것 같습니다…!!
감사합니다 ㅎㅎ 이것저것 해보다가 ‘IReceiveFilter’ 사용해서 해결했습니다 ㅎㅎ!