在Go语言中,可以使用net包来实现网络编程。以下是一个简单的示例代码,该代码使用Go语言在Linux系统上实现了一个简单的TCP服务器:
package mainimport ("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语言中实现网络编程。