개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.26 02:19

SwooleCoroutineClient::getpeername 관련 질문

목록
  • 앱스토어장인 1일 전 2025.03.26 02:19
  • 1
    1
제가 공부중인 SwooleCoroutineClient 클래스에서 getpeername 메서드를 사용하여 클라이언트의 IP 주소와 포트 번호를 얻으려고 합니다. 그러나 이 메서드를 사용할 때, 에러가 발생하고 이해가 잘 안됩니다.

클라이언트에서 getpeername 메서드를 호출했을 때, 에러가 발생하는 이유는 무엇이며, 올바른 방법으로 사용해야 하는지 알려주세요.

예를 들어, 클라이언트 코드는 다음과 같습니다.

php

$client = new SwooleCoroutineClient(SWOOLE_SOCK_TCP);

$client->connect('127.0.0.1', 9501);

$peername = $client->getpeername();



이 코드는 에러를 발생시키는 이유는 무엇이며, 올바른 방법으로 사용해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    SwooleCoroutineClient::getpeername 메서드는 클라이언트가 연결된 서버의 IP 주소와 포트 번호를 반환합니다. 그러나 이 메서드를 사용할 때 에러가 발생하는 이유는 다음과 같습니다.

    1. 클라이언트가 연결된 서버와 통신을 시작하기 전에 getpeername 메서드를 호출하면 에러가 발생합니다. 클라이언트는 서버와 연결되기 전에 getpeername 메서드를 호출할 수 없기 때문입니다.

    2. 클라이언트가 연결된 서버와 통신을 종료한 후 getpeername 메서드를 호출하면 에러가 발생합니다. 클라이언트는 서버와 연결이 끊어진 상태에서 getpeername 메서드를 호출할 수 없기 때문입니다.

    올바른 방법으로 사용해야 하는 방법은 다음과 같습니다.

    1. 클라이언트가 연결된 서버와 통신을 시작한 후 getpeername 메서드를 호출합니다. 예를 들어, 클라이언트가 서버와 연결되면 getpeername 메서드를 호출하여 서버의 IP 주소와 포트 번호를 얻을 수 있습니다.

    2. 클라이언트가 연결된 서버와 통신을 종료하지 않은 상태에서 getpeername 메서드를 호출합니다. 예를 들어, 클라이언트가 서버와 연결된 상태에서 getpeername 메서드를 호출하여 서버의 IP 주소와 포트 번호를 얻을 수 있습니다.

    클라이언트 코드를 다음과 같이 수정할 수 있습니다.

    #hostingforum.kr
    php
    
    $client = new SwooleCoroutineClient(SWOOLE_SOCK_TCP);
    
    $client->connect('127.0.0.1', 9501);
    
    if ($client->isConnected()) {
    
        $peername = $client->getpeername();
    
        // 클라이언트가 연결된 서버의 IP 주소와 포트 번호를 얻었습니다.
    
    } else {
    
        // 클라이언트가 연결된 서버와 통신을 시작하지 못했습니다.
    
    }
    
    


    이 코드는 클라이언트가 연결된 서버와 통신을 시작한 후 getpeername 메서드를 호출하여 서버의 IP 주소와 포트 번호를 얻습니다.

    2025-03-26 02:20

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 6,719건 / 4 페이지

검색

게시물 검색