도와주세요!!
글 수 15,339
2007.03.06 04:56:55 (*.118.69.150)
6738
리눅스 상의 GCC 3.2.2에서 컴파일 하여 비주얼 C++6.0 프로그램이랑 소켓통신할 때
문제없이 잘 되었습니다.
하지만 그 소스 그대로 2. 대의 arm-linux-gcc로 컴파일 하여 타겟보드 상에 올리니
문자가 깨어져서 값이 넘어 값니다. 3.3.3 툴체인으로 해도 같은 현상이 발생합니다.
타겟보드에서 따로 설정할 사항이 있는 건가요?
리눅스는
sock=socket(PF_INET, SOCK_STREAM, 0);
소켓을 쓰고
send(sock, name, name_length, MSG_OOB);
이것으로 보냅니다.
윈도우는 C소켓을 쓰고
char strFileName[10];
receiveSocket->Receive(strFileName, 10);
요렇게 받습니다.
혹시나 타겟보드 설정에서 문제가 있나 해서 질문드립니다. 리눅스상에서는 문제가 없는데...
타겟보드에 올리면 깨어진 값이 넘어와서 에러를 발생시킵니다.
통신 방법은 무선랜을 이용하였습니다.
문제없이 잘 되었습니다.
하지만 그 소스 그대로 2. 대의 arm-linux-gcc로 컴파일 하여 타겟보드 상에 올리니
문자가 깨어져서 값이 넘어 값니다. 3.3.3 툴체인으로 해도 같은 현상이 발생합니다.
타겟보드에서 따로 설정할 사항이 있는 건가요?
리눅스는
sock=socket(PF_INET, SOCK_STREAM, 0);
소켓을 쓰고
send(sock, name, name_length, MSG_OOB);
이것으로 보냅니다.
윈도우는 C소켓을 쓰고
char strFileName[10];
receiveSocket->Receive(strFileName, 10);
요렇게 받습니다.
혹시나 타겟보드 설정에서 문제가 있나 해서 질문드립니다. 리눅스상에서는 문제가 없는데...
타겟보드에 올리면 깨어진 값이 넘어와서 에러를 발생시킵니다.
통신 방법은 무선랜을 이용하였습니다.
저의 경우 TCP 를 사용한다면 send 함수 보다는 write 함수를 이용합니다.
write( sock, (char *)name, name_length );