在Go语言中,可以使用net包来实现网络编程。以下是一个简单的示例代码,该代码使用Go语言在Linux系统上实现了一个简单的TCP服务器:
package main import ( "fmt" "net" ) func main() { // 创建TCP监听器 listener, err := net.Listen("tcp", "0.0.0.0:8080") if err != nil { fmt.Println("Error listening:", err.Error()) return } defer listener.Close() fmt.Println("Server listening on 0.0.0.0:8080") for { // 接受客户端连接 conn, err := listener.Accept() if err != nil { fmt.Println("Error accepting: ", err.Error()) return } // 处理客户端请求 go handleRequest(conn) } } func handleRequest(conn net.Conn) { // 读取客户端数据 buffer := make([]byte, 1024) _, err := conn.Read(buffer) if err != nil { fmt.Println("Error reading:", err.Error()) return } // 打印客户端发送的数据 fmt.Println("Received message:", string(buffer)) // 向客户端发送响应数据 conn.Write([]byte("Hello from server")) // 关闭连接 conn.Close() }
在这个示例中,我们创建了一个TCP服务器,监听在本地的8080端口。当有客户端连接时,我们会接受客户端连接,并在一个新的goroutine中处理客户端请求。在handleRequest函数中,我们读取客户端发送的数据并向客户端发送响应数据。
要运行这个示例程序,可以使用以下命令:
go run server.go
在另一个终端中,可以使用telnet工具连接到服务器:
telnet localhost 8080
然后在telnet客户端中输入一些数据,就可以看到服务器接收到了数据并发送了响应。这就是一个简单的网络编程示例,展示了如何在Go语言中实现网络编程。