45 lines
718 B
Go
45 lines
718 B
Go
|
package main
|
|||
|
|
|||
|
import (
|
|||
|
"bufio"
|
|||
|
proto "course/networkProgram/protocol"
|
|||
|
"fmt"
|
|||
|
"io"
|
|||
|
"net"
|
|||
|
)
|
|||
|
|
|||
|
// socket_stick/server/main.go
|
|||
|
func proc(conn net.Conn) {
|
|||
|
defer conn.Close()
|
|||
|
reader := bufio.NewReader(conn)
|
|||
|
for {
|
|||
|
msg, err := proto.Decode(reader)
|
|||
|
if err == io.EOF {
|
|||
|
return
|
|||
|
}
|
|||
|
if err != nil {
|
|||
|
fmt.Println("decode msg failed, err:", err)
|
|||
|
return
|
|||
|
}
|
|||
|
fmt.Println("收到client发来的数据:", msg)
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
func main() {
|
|||
|
|
|||
|
listen, err := net.Listen("tcp", "127.0.0.1:30000")
|
|||
|
if err != nil {
|
|||
|
fmt.Println("listen failed, err:", err)
|
|||
|
return
|
|||
|
}
|
|||
|
defer listen.Close()
|
|||
|
for {
|
|||
|
conn, err := listen.Accept()
|
|||
|
if err != nil {
|
|||
|
fmt.Println("accept failed, err:", err)
|
|||
|
continue
|
|||
|
}
|
|||
|
go proc(conn)
|
|||
|
}
|
|||
|
}
|