• 월요일이라 좀 피곤해서 간단하게 서버 열고 연결 확인만 해봄

서버를 열기

func StartServer() {
    // 1. 9000번 포트로 리스닝 시작
    ln, err := net.Listen("tcp", ":9000")
    if err != nil {
        log.Fatal(err)
    }
 
    log.Println(time.Now(), " | Server Listening on Port 9000")
  
    for {
        conn, err := ln.Accept() // 2. 클라이언트가 들어올 때 까지 블로킹
        if err != nil {
            log.Println(time.Now(), " | Accept Error: ", err)
            continue
        }
 
        log.Println(time.Now(), " | Client Connected : ", conn.RemoteAddr().String())
        conn.Close() // 지금 당장 처리할 건 없기 때문에 연결 종료
    }
}

테스트 하기

  • 이제 이 상태에서 패킷을 보내보면 되는데, 글쓴이는 PacketSender 라는 프로그램을 사용함

  • 이렇게 생겼음
  • 우리는 위 코드에서 9000번 포트를 사용했기 때문에, 아래와 같이 설정한 후 Send를 보내주면 됨

  • 그러면 열린 서버 쪽에서는 클라이언트 연결 정보가 아래처럼 보여짐

  • 보면 Client Connected 라고 하고 뒤에 로컬호스트 IP와 64388 이라는 포트가 보임
  • PacketSender에서 패킷 송수신 내역을 보면 이 프로그램의 포트가 64388 이었다는 점을 알 수 있음

  • 따라서, 패킷이 올바르게 도착했다고 볼 수 있음!
  • (나중에는 클라이언트 테스트를 할 때에도 코드를 짜야 할 것임… 우리가 만든 규격대로 보내야 하니까)
  • 일단 오늘은 끝

다음에 할 것

  • 서버를 실제로 열어서 ping 타입의 패킷을 보내고 pong 타입의 패킷을 받아보기