1 Star 6 Fork 4

夏季的风/TCP-UDP网络组件

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
ReceiveTask.go 1.00 KB
一键复制 编辑 原始数据 按行查看 历史
lingbinbin 提交于 2021-09-10 14:55 . *更换新任务池
package netService
import (
"encoding/hex"
"gitee.com/ling-bin/network/netInterface"
"time"
)
//客户端请求内容
type ReceiveTask struct {
conn netInterface.IConnection //已经和客户端建立好的 链接
data []byte //客户端请求的数据
count int //数据长度
OnCompleted func(data []byte, count int) //接收到一次数据(未分包开始处理不确定是否完成)
duration time.Duration //超时时间
}
//获取连接id
func (r *ReceiveTask) GetTaskId() uint64 {
return r.conn.GetConnId()
}
//处理数据
func (r *ReceiveTask) RunTask() {
r.OnCompleted(r.data,r.count)
}
func (r *ReceiveTask) GetDuration() time.Duration {
return r.duration
}
//任务超时
func (r *ReceiveTask) CallOutTime() {
r.conn.CallLogHandle(netInterface.Error, "[tcp]数据处理超时:", "远程地址=>", r.conn.GetRemoteAddr(), " 任务ID=> ", r.GetTaskId(), " 数据 =>", hex.EncodeToString(r.data[0:r.count]))
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/ling-bin/network.git
git@gitee.com:ling-bin/network.git
ling-bin
network
TCP-UDP网络组件
v1.7.7

搜索帮助