官术网_书友最值得收藏!

  • Go Web Development Cookbook
  • Arpit Aggarwal
  • 277字
  • 2021-08-27 19:01:12

How it works…

Once we run the program, the TCP server will start locally listening on port 8080.

Let’s understand what each line in the program means:

  • package main: This defines the package name of the program.
  • import ( "log" "net"): This is a preprocessor command that tells the Go compiler to include all files from the log and net package.
  • const ( CONN_HOST = "localhost" CONN_PORT = "8080" CONN_TYPE = "tcp" ): We declare constants in a Go program using the const keyword. Here, we declare three constants—one is CONN_HOST with a value of localhost, another one is CONN_PORT with a value as 8080, and lastly CONN_TYPE with a value as tcp.

Next, we declared the main() method from where the program execution begins. As this method does a lot of things, let’s understand it line by line:

  • listener, err := net.Listen(CONN_TYPE, CONN_HOST+":"+CONN_PORT): This creates a TCP server running on localhost at port 8080.
  • if err != nil { log.Fatal("Error starting tcp server: ", err) }: Here, we check if there is any problem in starting the TCP server. If there is, then log the error and exit with a status code of 1.
  • defer listener.Close(): This defer statement closes a TCP socket listener when the application closes.

Next, we accept the incoming request to the TCP server in a constant loop, and if there are any errors in accepting the request, then we log it and exit; otherwise, we simply print the connection object on the server console, as follows:

for 
{
conn, err := listener.Accept()
if err != nil
{
log.Fatal("Error accepting: ", err.Error())
}
log.Println(conn)
}
主站蜘蛛池模板: 策勒县| 鸡东县| 阆中市| 蕉岭县| 湟源县| 桦甸市| 重庆市| 辰溪县| 西和县| 藁城市| 宝山区| 永兴县| 常宁市| 增城市| 桂平市| 彭州市| 淅川县| 宾阳县| 长寿区| 岳池县| 洞口县| 长寿区| 长治县| 和顺县| 九龙县| 万安县| 仙游县| 东丰县| 棋牌| 定结县| 开阳县| 寿宁县| 繁峙县| 盐池县| 广东省| 博乐市| 高密市| 吴江市| 文山县| 东辽县| 台前县|