Golang이라고도하는 GO는 강력한 표준 라이브러리로 유명하며 네트워크 관련 애플리케이션의 개발을 용이하게하도록 설계된 강력한 네트워킹 패키지 세트가 포함되어 있습니다. GO의 주요 내장 네트워킹 패키지 중 일부는 다음과 같습니다.
net
패키지는 TCP/IP, UDP 및 UNIX 도메인 소켓을 포함한 네트워크 I/O에 대한 일련의 인터페이스 및 기능을 제공합니다. 저수준 네트워크 연결 및 통신을 처리하는 데 기본이됩니다.이 패키지는 GO의 네트워킹 기능의 핵심을 형성하며 개발자가 간단한 TCP 서버에서 본격적인 웹 서비스에 이르기까지 광범위한 네트워크 응용 프로그램을 구축 할 수 있습니다.
GO의 net/http
패키지를 사용하여 간단한 웹 서버를 만드는 것은 간단합니다. 다음은 수행 방법에 대한 단계별 안내서입니다.
패키지 가져 오기 : GO 프로그램이 시작될 때 net/http
패키지를 가져 오십시오.
<code class="go">import "net/http"</code>
핸들러 기능 정의 : 다음으로, HTTP 요청을 처리 할 함수를 정의하십시오. 이 함수는 http.ResponseWriter
와 *http.Request
매개 변수로 받아 들여야합니다.
<code class="go">func helloHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, World!") }</code>
핸들러 등록 : http.HandleFunc
함수를 사용하여 HTTP 서버에 핸들러 기능을 등록하십시오. 이 기능은 URL 패턴을 핸들러와 연결합니다.
<code class="go">http.HandleFunc("/", helloHandler)</code>
서버 시작 : 마지막으로 http.ListenAndServe
사용하여 서버를 시작하십시오. 이 기능은 지정된 네트워크 주소를 듣고 통화는 들어오는 연결에 대한 요청을 처리하도록 Serve
.
<code class="go">http.ListenAndServe(":8080", nil)</code>
모든 것을 합치면 간단한 GO 웹 서버의 완전한 예는 다음과 같습니다.
<code class="go">package main import ( "fmt" "net/http" ) func helloHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, World!") } func main() { http.HandleFunc("/", helloHandler) http.ListenAndServe(":8080", nil) }</code>
이 서버는 포트 8080에서 듣기 시작하고 "Hello, World!"로 응답합니다. 모든 들어오는 HTTP 요청에.
GO의 net
패키지는 네트워크 연결 및 통신을 처리하기위한 필수 도구를 제공합니다. 주요 기능 중 일부는 다음과 같습니다.
Dial
및 Listen
기능을 제공합니다. Dial
원격 서버에 대한 연결을 설정하는 데 사용되며, Listen
들어오는 연결을 듣기 시작하는 데 사용됩니다.net.Dial("tcp", "example.com:80")
이 TCP 연결을 시작합니다.net.Conn
인터페이스는 기본 네트워크 연결을 추상화하여 읽기, 쓰기 및 폐쇄 연결을위한 방법을 제공합니다. 이 추상화를 통해 개발자는 특정 전송 프로토콜과 관련이없는 네트워크 코드를 작성할 수 있습니다.net.LookupHost
및 net.LookupIP
과 같은 기능은 인터넷을 통해 호스트에 연결하는 데 중요한 DNS 해상도 기능을 제공합니다.net.Pipe
기능을 사용하여 두 개의 고 루틴간에 동기식 인 메모리, 전이중 네트워크 연결을 생성 할 수 있습니다. 이러한 기능은 net
패키지를 GO에서 네트워크 응용 프로그램을 개발하기위한 다양한 도구로 만듭니다.
net/http
외에도 GO는 특정 요구에 따라 유용 할 수있는 몇 가지 다른 네트워킹 관련 패키지를 제공합니다. 이 중 일부는 다음과 같습니다.
net
패키지와 함께 사용하여 암호화 된 연결을 설정할 수 있습니다.gorilla/websocket
과 같은 타사 패키지를 선호하여 더 이상 사용되지 않았지만이 패키지는 역사적으로 WebSocket 지원을 제공했으며, 이는 웹을 통해 실시간, 양방향 통신에 필수적인 WebSocket 지원을 제공했습니다.이 패키지는 GO 모듈을 통해 사용 가능한 타사 라이브러리와 함께 다양한 네트워크 프로그래밍 작업을 처리하기위한 포괄적 인 도구 세트를 제공합니다.
위 내용은 GO의 내장 네트워킹 패키지 (예 : NET/HTTP)는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!