예제 #1
0
파일: main.go 프로젝트: jonfk/battleship
func printOutput(conn *net.TCPConn) {

	for {

		msg, err := protocol.ReadMsg(conn)
		// Receiving EOF means that the connection has been closed
		if err == io.EOF {
			// Close conn and exit
			conn.Close()
			fmt.Println("Connection Closed. Bye bye.")
			os.Exit(0)
		}
		if err != nil {
			log.Fatal(err)
		}
		fmt.Println(msg)
	}
}
예제 #2
0
파일: server.go 프로젝트: jonfk/battleship
func (server Server) handleRequest(conn net.Conn) {
	for {
		msg, err := protocol.ReadMsg(conn)
		if err != nil {
			if err == io.EOF {
				// Close the connection when you're done with it.
				server.removeConn(conn)
				conn.Close()
				return
			}
			log.Println(err)
			return
		}
		log.Printf("Message Received: %#v\n", msg)
		switch msg.(type) {
		case protocol.PingMsg:
		case protocol.OkMsg:
		case protocol.ErrorMsg:
		case protocol.GameMoveMsg:
		case protocol.ChatMessageMsg:
		case protocol.ConnectMsg:
		case protocol.RequestOpenGamesListMsg:
		case protocol.CreateGameMsg:
		case protocol.JoinGameMsg:
		case protocol.AcceptGameMsg:
		case protocol.RejectGameMsg:
		case protocol.GameSetPieceMsg:
		case protocol.RequestGameStateMsg:
		case protocol.AbandonGameMsg:
		case protocol.OpenGamesListMsg:
		case protocol.GamePreGameStatusMsg:
		case protocol.GameStateMsg:
		case protocol.GameWonMsg:
		case protocol.GameLostMsg:
		default:
		}
		//broadcast(conn, msg)
	}
}