Go 웹 애플리케이션의 다중 포트 구성
Go에서 http 패키지는 웹 서버 설정을 위한 간단한 기능을 제공합니다. http.ListenAndServe(PORT, nil)를 호출하면 지정된 TCP 포트에 청취 소켓을 설정할 수 있습니다.
다중 포트 바인딩: 가능합니까?
질문이 생깁니다. ListenAndServe 함수를 여러 포트에 동시에 바인딩하도록 구성할 수 있습니까? 예를 들어 http.ListenAndServe(":80, :8080", nil)?
답변: 아니요, 단일 애플리케이션의 여러 포트
안타깝게도 단일 애플리케이션에서 직접 여러 포트에 바인딩하는 것은 불가능합니다. Go의 웹 애플리케이션. 이 동작은 기본 운영 체제 및 네트워킹 제한으로 인해 발생합니다.
대안: 여러 리스너 시작
다중 포트 기능을 구현하려면 여러 리스너를 시작하고 바인딩할 수 있습니다. 개별적으로 다른 포트에 연결합니다. 예:
go http.ListenAndServe(":80", handlerA) http.ListenAndServe(":8080", handlerB)
이 코드 조각은 두 개의 개별 리스너를 생성합니다. 하나는 포트 80에서 수신하고 다른 하나는 포트 8080에서 수신합니다. 각 리스너는 서로 다른 요청 핸들러를 처리합니다.
위 내용은 Go의 `http.ListenAndServe`가 동시에 여러 포트에 바인딩될 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!