다음을 통해 공유


P2P 연결에 대한 해결 방법

매치 메이킹의 최종 결과는 일치 - 대기열에 대한 규칙을 충족시키는 티켓 컬렉션입니다. 전용 서버가있는 타이틀의 경우 일치 ID는 고유하며 함께 플레이해야 하는 플레이어 그룹을 식별하는 데 사용할 수 있습니다.

그러나 P2P의 경우에는 타이틀이 서로에 대한 연결 정보를 전달해야 합니다. 이 자습서에서는 이를 수행하는 해결 방법을 설명합니다.

참고 항목

매치 메이킹에서 P2P 연결은 현재 공식적으로 지원되지 않습니다. Playfab 파티를 고려하거나 자세한 내용을 Microsoft에 문의하세요.

IP 주소를 특성으로 지정

티켓으로 특성 지정하기와 마찬가지로 IP 주소와 같은 임의의 값을 특성으로 지정할 수 있습니다. 규칙에 대응하지 않아도 됩니다.

POST https://{{TitleId}}.playfabapi.com/Match/CreateMatchmakingTicket
{
    "Creator": {
        "Entity": {
            "Id": "A8140AB9109712B",
            "Type": "title_player_account",
            "TypeString": "title_player_account"
        },
        "Attributes": {
            "DataObject": {
                "IP": "123.234.123.12"
            }
        }
    },
    "MembersToMatchWith": [],
    "GiveUpAfterSeconds": 2,
    "QueueName": "IPExampleQueue"
}

일치에서 모든 플레이어 IP 검색하기

GetMatch를 호출할 때 ReturnMemberAttributes 플래그를 true로 지정하면 각 티켓의 특성이 반환됩니다. 여기에는 지정된 IP 주소가 포함됩니다.

{
    "code": 200,
    "status": "OK",
    "data": {
        "MatchId": "3d58dc0f-2eb6-4162-a2e0-1ed6ac5ea551",
        "Members": [
            {
                "TeamId": "",
                "Entity": {
                    "Id": "A8140AB9109712B",
                    "Type": "title_player_account",
                    "TypeString": "title_player_account"
                },
                "Attributes": {
                    "DataObject": {
                        "IP": "123.234.123.12"
                    }
                }
            },
            {
                "TeamId": "",
                "Entity": {
                    "Id": "562D72A5B184F612",
                    "Type": "title_player_account",
                    "TypeString": "title_player_account"
                },
                "Attributes": {
                    "DataObject": {
                        "IP": "123.234.123.12"
                    }
                }
            }
        ]
    }
}

참고 항목

이것은 IP를 교환하는 데 사용될 수 있지만 클라이언트 간의 연결을 보장하지는 않습니다.