1. 导入 GoFrame 包:
package main
import (
"fmt"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/gnet"
)
// ...
2. 创建一个 TCP Server:
package main
import (
"fmt"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/gnet"
)
func main() {
// 创建 gnet Server
server := gnet.NewServer("tcp://:8999", func(conn gnet.Conn) {
// 处理连接
fmt.Println("New connection:", conn.RemoteAddr())
// 读取数据
data, err := conn.Recv(-1)
if err != nil {
fmt.Println("Read error:", err)
return
}
fmt.Println("Received data:", string(data))
// 发送响应
conn.Send([]byte("Hello, Client!"))
// 关闭连接
conn.Close()
})
// 运行服务器
server.Run()
}
在上述例子中,创建了一个简单的 TCP 服务器,监听在 8999 端口上。每当有新的连接进入时,会输出连接信息,读取客户端发送的数据,然后发送 "Hello, Client!" 的响应,并关闭连接。
3. 客户端连接测试:
可以使用 telnet 或其他工具模拟客户端连接测试:
telnet 127.0.0.1 8999
输入一些数据,你将看到服务器的响应。
这只是一个简单的例子,实际应用中你可能需要处理更复杂的业务逻辑、错误处理等。gnet 提供了许多强大的功能,包括事件回调、协议处理、多协程处理等,可以根据实际需求进行扩展。
转载请注明出处:http://www.zyzy.cn/article/detail/7871/GoFrame