IM-System版本0.1创建基本服务
This commit is contained in:
parent
5f80f1ce38
commit
c31d0ba789
@ -10,7 +10,37 @@ type Server struct {
|
|||||||
Port int
|
Port int
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建一个server的接口
|
// Server类的成员方法Handler: 处理当前连接的业务
|
||||||
|
func (server *Server) Handler(conn net.Conn) {
|
||||||
|
// 当前连接的业务
|
||||||
|
fmt.Println("连接建立成功")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Server类的成员方法Start:启动服务器的接口s
|
||||||
|
func (server *Server) Start() {
|
||||||
|
// socket lister
|
||||||
|
listener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", server.Ip, server.Port))
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("net.Listen err: ", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer listener.Close()
|
||||||
|
|
||||||
|
for {
|
||||||
|
// accept
|
||||||
|
conn, err := listener.Accept()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("listener accept err: ", err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// do handler
|
||||||
|
go server.Handler(conn)
|
||||||
|
}
|
||||||
|
|
||||||
|
// close listen socket
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建一个server接口
|
||||||
func NewServer(ip string, port int) *Server {
|
func NewServer(ip string, port int) *Server {
|
||||||
server := &Server{
|
server := &Server{
|
||||||
Ip: ip,
|
Ip: ip,
|
||||||
@ -18,32 +48,3 @@ func NewServer(ip string, port int) *Server {
|
|||||||
}
|
}
|
||||||
return server
|
return server
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Server) Handler(conn net.Conn) {
|
|
||||||
// ...当前链接的业务
|
|
||||||
fmt.Println("连接建立成功")
|
|
||||||
}
|
|
||||||
|
|
||||||
// 启动服务器的接口
|
|
||||||
func (this *Server) Start() {
|
|
||||||
// socket listen
|
|
||||||
listener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", this.Ip, this.Port))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println("net.Listen err:", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// close listen socket
|
|
||||||
defer listener.Close()
|
|
||||||
|
|
||||||
for {
|
|
||||||
// accept
|
|
||||||
conn, err := listener.Accept()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println("listener accept err:", err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
// do handler
|
|
||||||
go this.Handler(conn)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user