좋은 질문입니다. 솔루션에 얼마나 투자하고 싶은지에 달려 있습니다. 두 가지 방법을 상상해 볼 수 있습니다.
1) 기본 구현을 변경하는 첫 번째 방법은 스스로 더 나은 것을 작성하는 것입니다. 원격 배우 라이브러리의 모든 코드는 GitHub에서 사용할 수 있기 때문에 그리 어렵지 않습니다.
나의 제안은 특히 같은 73 라인의 TcpSerice 클래스의 일부를 다시 구현하는 것입니다 :
private val internalNode = {
val interfaces = NetworkInterface.getNetworkInterfaces()
val interface = ... // find the right interface here
val addresses = interface.getInetAddresses()
val address = ... // find the right address here
new Node(address, port)
}
도 추가하거나 변경하려면 다른 물건을 사용자 정의 할 수 있습니다이 방법 다른 것.
2) 다른 간단한 방법은 기본 구현을 모두 사용하지 않고 대신 매우 인기있는 액터 프레임 워크 akka을 사용하는 것입니다. Akka는 많은 추가 기능뿐만 아니라 효율성과 견고성을 제공합니다. GitHub과 Server 클래스를 보면 호스트가 실제로 전역 구성 항목 "호스트 이름"에서 읽혀지는 것을 알 수 있습니다. 구성을 조작하는 방법에 대한 자세한 안내는 here입니다. 위와 유사한 코드를 사용하여 올바른 인터페이스와 주소를 찾을 수 있어야합니다.
희망 하시겠습니까?