You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.1 KiB
Go

//go:build server || (!server && !client)
package main
import (
"fmt"
"log"
"time"
"github.com/noahlann/nnet/pkg/nnet"
)
func main() {
// 创建服务器配置
cfg := &nnet.Config{
Addr: "tcp://127.0.0.1:8888",
}
// 创建服务器
server, err := nnet.NewServer(cfg)
if err != nil {
log.Fatalf("Failed to create server: %v", err)
}
// 注册路由
server.Router().RegisterString("echo", func(ctx nnet.Context) error {
// 读取请求数据
requestData := ctx.Request().Raw()
message := string(requestData)
// 回显消息
response := fmt.Sprintf("Echo: %s\n", message)
return ctx.Response().WriteString(response)
})
// 注册路由:计算请求处理时间
server.Router().RegisterString("time", func(ctx nnet.Context) error {
now := time.Now()
response := fmt.Sprintf("Current time: %s\n", now.Format(time.RFC3339))
return ctx.Response().WriteString(response)
})
// 启动服务器
log.Println("Starting server on tcp://127.0.0.1:8888")
if err := server.Start(); err != nil {
log.Fatalf("Failed to start server: %v", err)
}
// 等待中断信号
select {}
}