안녕하세요?
tcp로 임의포트를 바인드하고 netstat를 해보면,
지정한 포트와는 다른 포트가 열려져있는걸 볼수있던데요.
어디선가 포트를 바꾸는건가요?
예를 들어 23456 이라고 바인드하면 41051이라는 포트가 열려있습니다.
사용하는 환경은 슬랙웨어 8.1 커널 2.5.17입니다.
왜 이런지 알려주세요.
서버 프로그램인가요?
아마 클라이언트 프로그램 같은데...
해당 포트는 OS가 알아서 Active_map에 채워줍니다.
또한 서버 프로그램일 경우에는 Passive_map에는 님이
정해놓으신 포트가 Active_map에는 클라이언트의
접속된 포트번호가 채워지는 겁니다.
어떻게 이런일이 있을수 있나요?
음 대당 부분의 소스를 좀 볼 수 있을까요?
혹시 serverAddress.sin_port = 23456;
이런식으로 하신건 아닌지요?, 서버에서 포트를 바인드 하기위해서는
htons 라는 함수를 통해서 네트웍 오더로 변경해야만 합니다.
serverAddress.sin_port = htons( 23456 );
그럼 고운 하루되시길...
ps. 23456 이 41051 이 맞군요... htons 를 안쓰신듯 하네요
샤랄라 wrote.. 안녕하세요? tcp로 임의포트를 바인드하고 netstat를 해보면, 지정한 포트와는 다른 포트가 열려져있는걸 볼수있던데요. 어디선가 포트를 바꾸는건가요? 예를 들어 23456 이라고 바인드하면 41051이라는 포트가 열려있습니다. 사용하는 환경은 슬랙웨어 8.1 커널 2.5.17입니다. 왜 이런지 알려주세요.
답변 정말 감사드립니다.
atol( argv[ ... ] );
이렇게만 써줬는데, 여기서 htos( atol (... ) )
이렇게 해줘야만 하는건가보군요. 참고하겠습니다.
그리고 정말 감사합니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
Re: 질문 : bind에 관한 질문입니다.
서버 프로그램인가요?
아마 클라이언트 프로그램 같은데...
해당 포트는 OS가 알아서 Active_map에 채워줍니다.
또한 서버 프로그램일 경우에는 Passive_map에는 님이
정해놓으신 포트가 Active_map에는 클라이언트의
접속된 포트번호가 채워지는 겁니다.
Re^2: 클라이언트가 아니고 서버입니다.
어떻게 이런일이 있을수 있나요?
Re^3: 클라이언트가 아니고 서버입니다.
음 대당 부분의 소스를 좀 볼 수 있을까요?
Re: 질문 : bind에 관한 질문입니다.
혹시 serverAddress.sin_port = 23456;
이런식으로 하신건 아닌지요?, 서버에서 포트를 바인드 하기위해서는
htons 라는 함수를 통해서 네트웍 오더로 변경해야만 합니다.
serverAddress.sin_port = htons( 23456 );
그럼 고운 하루되시길...
ps. 23456 이 41051 이 맞군요... htons 를 안쓰신듯 하네요
샤랄라 wrote..
안녕하세요?
tcp로 임의포트를 바인드하고 netstat를 해보면,
지정한 포트와는 다른 포트가 열려져있는걸 볼수있던데요.
어디선가 포트를 바꾸는건가요?
예를 들어 23456 이라고 바인드하면 41051이라는 포트가 열려있습니다.
사용하는 환경은 슬랙웨어 8.1 커널 2.5.17입니다.
왜 이런지 알려주세요.
Re^2: 감사합니다.
안녕하세요?
답변 정말 감사드립니다.
atol( argv[ ... ] );
이렇게만 써줬는데, 여기서 htos( atol (... ) )
이렇게 해줘야만 하는건가보군요. 참고하겠습니다.
그리고 정말 감사합니다.
댓글 달기