telnet command 처리할 C/C++ 라이버러리는?
라우터에 telnet 접속하여 command날리고 결과 받는 부분이 필요한데요. (NMS) 마땅한 C/C++라이버러리가 잘 없어서 찾아보니 jakarta commons 의 net api 가 매우 적합하였습니다.
헌데, 이 모듈이 또한 다른 C/C++ 데몬과 message queue로 IPC해야하기땜에 결국 자바를 이용하면 JNI를 쓰야하는데, 검토를 해보니 충분히 가능은 합니다만.. 주고받는 데이터가 복잡한 다중 struct구조들이 많은데 이것들을 JNI로 할려니 너무 비효율적인것 같네요. 객체를 그냥 받아서 큐에 밀어넣어도 된다면야 더할나위 없겠지만 struct align, byte ordering, primitive/object type size 등등 때문에 결국 JNI에서 다시 struct를 구성해서 밀어넣어야 하고..굳이 한다면 JNI 메소드자체를 각 멤버를 인자만 받아서 여기서 구조체를 완성시키는 식으로하면 그나마 나아보이지만.. 그래도 깔끔하지 못한것은 마찬가지로 보이구요..
그래서 결국 C/C++ telnet library를 다시 사용할까 생각하는데.
libcurl과 expect를 생각해보고는 있습니다. 원래는 이것들이 command line tool을 위한 라이버러리들이다 보니 connection reference를 통해 command/result 만 주고받는 용도로 쓰기엔 좀 거시기하지만...
어떤것이라도 조언있으시면 부탁드립니다.
저는 텔넷 RFC보고 직접 만들었던 기억이 있습니다.나름대로 재미있었
저는 텔넷 RFC보고 직접 만들었던 기억이 있습니다.
나름대로 재미있었던 것 같습니다.
댓글 달기