image.png
TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是一种面向连接(连接导向)的、可靠的、基于字节流的传输层(Transport layer)通信协议,因为是面向连接的协议,数据像水流一样传输,会存在黏包问题。
我们先看看项目结构
├── demo
│ └── zinxv0.1
│ └── Server.go
├── go.mod
├── ziface
│ └── IServer.go
└── znet
└── server.go
我们先在定义一个Iserver.go的服务接口,我们需要启动服务器,所以在这个接口里面需要实现3个方法。
package ziface
//定义一个服务器接口
type IServer interface {
//启动服务器
Start()
//停止服务器
Stop()
//运行服务器
Serve()
}
然后我们需要实现一个结构体来实现这个接口的定义的方法
package znet
import (
"fmt"
"net"
"zinx/ziface"
)
// IServer的接口实现,定义一个Server的服务器模块