네트워킹 영역에서 Go는 시스템 리소스에 대한 낮은 수준의 액세스를 제공하는 것을 목표로 합니다. 그러한 작업 중 하나는 특정 네트워크 인터페이스 주소를 사용하여 연결을 설정하는 기능입니다.
이를 달성하기 위해 Go 표준 라이브러리는 이름(예: "eth1")으로 인터페이스를 검색하는 InterfaceByName 함수를 제공합니다. 그러나 반환된 인터페이스의 Addrs 메소드에서 소스 주소를 추출하면 주소와 넷마스크를 모두 캡슐화하는 *net.IPnet 유형이 생성됩니다.
전화 걸기에 이 주소를 사용하려면 *net으로 변환해야 합니다. .IP 필드를 사용하는 TCPAddr:
ief, err := net.InterfaceByName("eth1") if err !=nil{ log.Fatal(err) } addrs, err := ief.Addrs() if err !=nil{ log.Fatal(err) } tcpAddr := &net.TCPAddr{ IP: addrs[0].(*net.IPNet).IP, }
이 수정된 TCPAddr을 사용하면 다음을 사용하여 전화 걸기 위한 로컬 주소를 지정할 수 있습니다. 다이얼러의 LocalAddr 필드:
d := net.Dialer{LocalAddr: tcpAddr}
로컬 주소를 적절하게 설정하면 원하는 네트워크 인터페이스 주소를 사용하여 연결을 설정하여 네트워크 트래픽이 원하는 인터페이스를 통해 라우팅되도록 할 수 있습니다.
위 내용은 Go에서 특정 네트워크 인터페이스 주소로 전화를 거는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!