더북(TheBook)

이제 상대 측인 수신자 쪽 코드를 봅시다.

코드 수신 측 코드

<55.66.77.88>
main()
{
    s = socket(TCP);         // ➊
    s.listen(5959);          // ➋
    s2 = s.accept();         // ➌
    print(getpeeraddr(s2));  // ➍
    while (true)
    {
        r = s2.recv();       // ➎
        if (r.length = = 0)
            break;           // ➏
        print(r);            // ➐
    }
    s2.close();              // ➑
}

 

먼저 socket을 생성합니다(). 그런데 이 socket은 직접 TCP 데이터 스트림을 받지 않고 listen socket 역할을 합니다. listen socket은 TCP 연결을 받아들이는 역할만 합니다. listen socket은 TCP 연결을 받는 고정된 끝점을 갖고 있어야 합니다. 따라서 끝점을 확보할 필요가 있습니다().

그러고 나서 accept()를 실행하면 상대방에게 TCP 연결을 받을 때까지 블로킹됩니다().

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.