[완료]ftp 프로그래밍에서 서버에 포트 21번 할당 못하나요?(c언어)
글쓴이: nerkis / 작성시간: 일, 2008/05/04 - 11:46오후
프로그래밍도 초짜고 소켓은 더더욱 초짜인데
이번에 ftp 서버 프로그램 만들게 되었습니다.
헌데,
대체 왜 서버에서 포트에서 21번 줄려고 하면
안되죠?
memset(&echoServAddr, 0, sizeof(echoServAddr));
echoServAddr.sin_family = AF_INET;
echoServAddr.sin_addr.s_addr = htonl(INADDR_ANY);
echoServAddr.sin_port = htons(echoServPort);
이런식으로 있으면 echoServPort 에 21을 넣으면 안되네요.
그래서 일단 다른 포트주고 만들어서 하고 있는데 데이터 보내는 소켓할때는
클라이언트랑 소켓 포트를 20줘야 되는걸로 아는데 그것도 안되고..
어떻게 해야 되는거죠? 부탁드립니다.. 이걸로 며칠째 검색하다가.. 여기까지 와서.. 우
Forums:
1000 번 이하의 포트에
1000 번 이하의 포트에 bind 시키려면 root 권한이 필요합니다.
--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
그럼 보통 ftp
그럼 보통 ftp 프로그램은 어떻게 21번 포트 줄 수 있는거에요?
알ftp로 하면 21번 포트 주어지던데
물론 전 리눅스 환경에서 하고 있는데..
코드 안에서 루트 권한을 줘야 되나요?
루트 권한을 안주면 데이터 소켓도 못 열게 되는건가요? 20포트인가..
제가 좀 몰라서..ㅜ_ㅜ
코드 안에서 루트
코드 안에서 루트 권한을 직접적으로 주는 방법은 이 만화를 참고하세요. 좀 오래되긴 했지만.
---- 절취선 ----
http://blog.peremen.name
알ftp 는 유닉스에서
알ftp 는 유닉스에서 돌아가는게 아니니까요.
프로그래밍 및 테스트는 일반계정에서 1000번 이후 포트를 이용해주고 나중에 완성하신 다음에는 포트를 바꿔주고 루트로 실행시키세요.
--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
댓글 달기