[질문][네트워크 프로그래밍] arm으로 컴파일후 connect()에서 i
글쓴이: mon12key / 작성시간: 화, 2003/07/29 - 3:44오전
안녕하세요.
초보 리눅서 멍12키 입니다.
또 네트워크 프로그래밍쪽에 질문입니다.
x86에서는 잘 되던 connect()이 arm으로 컴파일한 후에는 invaild argument 에러가 나오면서 다운되네요.
zero( (char*)&serverAddr, sizeof(serverAddr)); serverAddr.sin_family = AF_INET; serverAddr.sin_addr.s_addr = htonl(INADDR_ANY); serverAddr.sin_port = htons(ToolPort); printf("\ntarget tool connect %s \n", inet_ntoa(serverAddr.sin_addr)); if (-1 == connect(mTempStr.nSocketDesc, (struct sockaddr *)&serverAddr, sizeof(serverAddr))) perror(errno);
에러나는 부분은 간략히 위와 같이 진행됩니다.
왜 이런 에러가 나오는지 이해가 안갑니다. x86에서는 정상적으로 되는데요.
아무래도 라이브러리가 틀려서 그런거지. -_-;
아니면 네트워크 바이트로 재정렬하는 매크로가 arm에서 문제가 되는건지?
주로 socket 프로그래밍이어서 architecture에 의존성이 없다고 생각했는데...
쩝.
그럼 고견들을 남겨주세요
Forums:
제가 짰던 코드 snippet입니다. x86과 별로 다를 바가 없습니다.
제가 짰던 코드 snippet입니다. x86과 별로 다를 바가 없습니다. 작년에 짰던 거라 기억이 가물가물하네요 -_-
제가 보기엔 serverAddr.sin_addr.s_addr = htonl(INADDR_ANY); 이 잘못된 것 같네요.. 접속할 서버 주소를 주셔야죠
rommance.net
답변 감사합니다.그런데, 특정 아이피로 선택해도 Invaild
답변 감사합니다.
그런데, 특정 아이피로 선택해도
Invaild argument 라는 에러가 나옵니다.
-_-;
result = connect ( *sock, (struct sockad
result = connect ( *sock, (struct sockaddr *) &dest_addr0, sizeof (struct sockaddr));
음 이상한데요.. 저는 위 코드로 접속했습니다만 이상 없었는데요.
그렇다면 bind로 자기 주소 정보를 넣고 해보세요..
rommance.net
[code:1]mTempStr.nSocketDesc[/code:1]이
mTempStr.nSocketDesc
이 구조체의 모양을 볼 수 있을까요?그 구조체는 다음과 같이 정의되어 있습니다.[code:1]typede
그 구조체는 다음과 같이 정의되어 있습니다.
nSocketDesc는 소켓을 위해 사용됩니다. ^^.
으휴.. 정말 모르겠네요.. 설마 이런것은 아니겠지만... 그냥 혹시나
으휴.. 정말 모르겠네요.. 설마 이런것은 아니겠지만... 그냥 혹시나 싶어서. ^^;
코드내에 보이지 않아서 그냥 써보긴 했지만..
이것때문은 아니겠죠...;;;
도움도 못드리고 귀찮게 해드려 죄송합니다.
관심 가져주셔서 고맙습니다.소켓은 물런 생성했는데 안되는 경우입니다.
관심 가져주셔서 고맙습니다.
소켓은 물런 생성했는데 안되는 경우입니다.
-_-. 작은 테스트용은 되는데.. 대체 멀 잘못했길래.
컴퓨터가 거짓말 하지 않을테니 저의 잘못이겠죠.
디버깅~
strace로 system call을 출력했습니다. 같은 코드를 arm
strace로 system call을 출력했습니다. 같은 코드를 arm과 x86에서 찍어 보았습니다.
arm에서는 에러가 나는군요. -_-;
arm에서
x86에서
해결했습니다.
구글에서 검색해보니. 다음과 같은 얘기가 있더군요.
그래서 타겟의 네트워크 설정을 다시하고 정상적으로 작동합니다. ㅠ.ㅠ;
댓글 달기