server.sin_addr.s_addr = htonl(INADDR_ANY);
이렇게 하니까 루프백까지도 바인딩하고 있네요.
-_-; 당연한 얘기지만...
루프백을 제외하고 바인딩하고 싶습니다.
방법이 없나요?
와일드 카드 바인딩이 아니라 ioctl로 네트워크 인터페이스 주소를 알아내서 특정 주소를 바인딩 해주면 특정 아이피 하나로만 소켓이 바인딩 될것이고.
인터페이스가 하나 일 경우에는 위의 방법으로 해결 할수 있겠지만.. 여러개 있을경우.. 안될테니..
와일드카드 바인딩후 , 연결이 들어 왔을때 주소를 확인해서 로컬호스트일경우 연결을 닫아 주는 꽁수가 떠오르는군요.
테스트 코드 조금 작성해보시면 될듯..
이전 글에서 자신의 IP를 찾는 예제를 구하실 수 있습니다.
http://bbs.kldp.org/viewtopic.php?t=768
---http://coolengineer.com
감사합니다. ^^
여담인데..
INADDR_ANY - INADDR_LOOPBACK
같은 방법은 없나요?
무엇이 더 필요하단 말인가...
^^ 없습니다...
저도 여담인데....
어떤 일을 하시다가 그런 기능이 필요하시게 됐죠?
저는 ssh port forwarding을 좀 편하게 써볼라다가.. 필요했었는데..
^^; 프로세스 두 놈이..
프로세스 A는 특정 포트 루프백만 잡고,
프로세스 B는 특정 포트 다 잡고..
이러고 있다가 B로 패킷 날아오면..
처리해서 같은 포트의 127.0.0.1 로 보내면 이걸 A가 받고.
뭐 그런 호작질을 하고 있습니다..ㅋㅋㅋ
unix domain socket을 사용하면 쉽게 해결 할수 있을텐데요.
텍스트 포맷에 대한 자세한 정보
<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]
제생각엔...
와일드 카드 바인딩이 아니라
ioctl로 네트워크 인터페이스 주소를 알아내서
특정 주소를 바인딩 해주면
특정 아이피 하나로만 소켓이 바인딩 될것이고.
인터페이스가 하나 일 경우에는 위의 방법으로 해결 할수 있겠지만..
여러개 있을경우.. 안될테니..
와일드카드 바인딩후 ,
연결이 들어 왔을때 주소를 확인해서
로컬호스트일경우 연결을 닫아 주는 꽁수가 떠오르는군요.
테스트 코드 조금 작성해보시면 될듯..
이전 글에서 자신의 IP를 찾는 예제를 구하실 수 있습니다.htt
이전 글에서 자신의 IP를 찾는 예제를 구하실 수 있습니다.
http://bbs.kldp.org/viewtopic.php?t=768
---
http://coolengineer.com
감사합니다. ^^여담인데..INADDR_ANY - INAD
감사합니다. ^^
여담인데..
INADDR_ANY - INADDR_LOOPBACK
같은 방법은 없나요?
무엇이 더 필요하단 말인가...
^^ 없습니다...저도 여담인데....어떤 일을 하시다가
^^ 없습니다...
저도 여담인데....
어떤 일을 하시다가 그런 기능이 필요하시게 됐죠?
저는 ssh port forwarding을 좀 편하게 써볼라다가.. 필요했었는데..
---
http://coolengineer.com
^^;프로세스 두 놈이..프로세스 A는 특정 포트 루프백만 잡
^^;
프로세스 두 놈이..
프로세스 A는 특정 포트 루프백만 잡고,
프로세스 B는 특정 포트 다 잡고..
이러고 있다가 B로 패킷 날아오면..
처리해서 같은 포트의 127.0.0.1 로 보내면 이걸 A가 받고.
뭐 그런 호작질을 하고 있습니다..ㅋㅋㅋ
무엇이 더 필요하단 말인가...
음 그럴경우에는...루프백 보다는..
unix domain socket을 사용하면 쉽게 해결 할수 있을텐데요.
댓글 달기