[완료] Java Server 과 linux client program 통신시 전송문제.
윈도우 환경하에 동작하는 Java Server Program이 있고, Embeded Board(mips 계열) 에서 동작되는 client Program이 있습니다.
여기서 문제가 서버로 connection은 이상없는데, client 에서 server로 메세지 전달이 안됩니다.
client에서 socket을 close()함수로 닫아 버리면, 서버로 메세지가 전달이 되고요.
이전에 만들어 놓은 Linux PC용 서버프로그램과는 통신이 잘됩니다.
프로토콜은 IPV4, TCP/IP 방식으로 Server/Client 동일한 형식입니다. Java Server에 경우 협력업체에서 만들었는데, 코드내용은 볼수 없는 상태입니다 프로토콜은 동일하다고 합니다.
특이한 점은, 제가 test 용으로 메세지만 보내는 client 프로그램을 윈도우용으로 짜서 제 pc에서 동작시키면, 연결만 되고, 메세지 전달이 안되고,
업체에 동일한 test client 프로그램을 동작을 동작 시키면, 메세지가 잘 전달이 됩니다. ( 서버는 업체에 있는 서버에 직접 연결하여 test 해보았습니다.
혹시 위와 같은 경험 있으신분 있으시면, 답변 바랍니다.
telnet x.x.x.x 5001 형식으로 서버에 연결하면 메세지 전달이 잘되네요. 윈도우나 리눅스 telnet 둘다요.
그래서 일단, busybox에 있는 telnet 프로그램 참고할려고 합니다.
====================================================================================================================
업체쪽 서버프로그램에 문제가 있었습니다. text 모드로 처리해서 문제가 발생했습니다.
binary 형식으로 전환후 문제 해결 됐다고 합니다.
버퍼사이즈 때문인것 같은데요
버퍼사이즈 때문인것 같은데요
버퍼사이즈가 다 찰때까지는 원래 안보냅니다.
강제로 보내실려면 flush() 해주시거나
훨씬 큰 데이타를 보내보시지요~
close 하시면 자동으로 flush 도 됩니다.
댓글 달기