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을 사용하면 쉽게 해결 할수 있을텐데요.
제생각엔...
와일드 카드 바인딩이 아니라
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을 사용하면 쉽게 해결 할수 있을텐데요.