> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PartyDirectPeerConnectivityOptions

> 네트워크 내 디바이스 간 직접 피어 투 피어 연결의 시도를 제어하는 플래그입니다.

네트워크 내 디바이스 간 직접 피어 투 피어 연결의 시도를 제어하는 플래그입니다.

## Syntax

```cpp theme={null}
enum class PartyDirectPeerConnectivityOptions  : int32_t  
{  
    None = 0x0,  
    SamePlatformType = 0x1,  
    DifferentPlatformType = 0x2,  
    AnyPlatformType = SamePlatformType | DifferentPlatformType,  
    SameEntityLoginProvider = 0x4,  
    DifferentEntityLoginProvider = 0x8,  
    AnyEntityLoginProvider = SameEntityLoginProvider | DifferentEntityLoginProvider,  
    OnlyServers = 0x10,  
}  
```

## Constants

| Constant                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |                                            |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| None                         | 지정된 플래그가 없습니다.<br /><br /> 플래그가 없다는 것은 직접 피어 연결 시도가 허용되지 않음을 의미합니다. 디바이스 간의 모든 엔드포인트 메시지 및 채팅 데이터는 항상 투명 클라우드 릴레이 서버를 통해 전송되며, IP 주소 정보는 절대 교환되지 않습니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |                                            |
| SamePlatformType             | 동일한 플랫폼 유형의 디바이스 간에 직접 피어 투 피어 연결을 시도할 수 있습니다.<br /><br /> 한 쌍의 디바이스가 사용하는 특정 Party 라이브러리와 연결된 동일한 유형의 하드웨어 및/또는 OS 플랫폼(예: Windows PC, XBOX 게임 콘솔, iOS 기반 모바일 디바이스)을 갖는 것으로 식별되는 경우 직접 피어 투 피어 연결을 설정하려고 시도합니다. <br /><br /> 이 플래그 자체만으로는 직접 피어 투 피어 연결 시도가 허용되지 않는다는 점에 유의하세요. `SameEntityLoginProvider` 및 `DifferentEntityLoginProvider` 플래그 중 하나 또는 둘 다와 결합해야 합니다.   <br /><br /> 이 플래그는 [PartyNetworkConfiguration](/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration) 구조체의 `OnlyServers` 플래그와 결합할 수 없습니다. [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](/services/playfab/multiplayer/networking/reference/enums/partyoption) 값의 일부로서 `OnlyServers`와 결합할 수 있습니다.                                                                                                                                                                                                                                              |                                            |
| DifferentPlatformType        | 서로 다른 플랫폼 유형의 디바이스 간에 직접 피어 투 피어 연결을 시도할 수 있습니다.<br /><br /> 각 디바이스가 사용하는 특정 Party 라이브러리와 연결된 서로 다른 유형의 하드웨어 및/또는 OS 플랫폼(예: Windows PC, XBOX 게임 콘솔, iOS 기반 모바일 디바이스)을 갖는 것으로 식별되는 경우 한 쌍의 디바이스는 직접 피어 투 피어 연결을 설정하려고 시도합니다. <br /><br /> 이 플래그 자체만으로는 직접 피어 투 피어 연결 시도가 허용되지 않는다는 점에 유의하세요. `SameEntityLoginProvider` 및 `DifferentEntityLoginProvider` 플래그 중 하나 또는 둘 다와 결합해야 합니다.   <br /><br /> 이 플래그는 [PartyNetworkConfiguration](/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration) 구조체의 `OnlyServers` 플래그와 결합할 수 없습니다. [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](/services/playfab/multiplayer/networking/reference/enums/partyoption) 값의 일부로서 `OnlyServers`와 결합할 수 있습니다.                                                                                                                                                                                                                                  |                                            |
| AnyPlatformType              | 플랫폼 유형에 관계없이 디바이스 간에 직접 피어 투 피어 연결을 시도할 수 있습니다.<br /><br /> 이 플래그는 \`\`\`SamePlatformType                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | DifferentPlatformType\`\`\`과 동일합니다.        |
| SameEntityLoginProvider      | 동일한 공급자를 사용하여 로그인된 인증된 사용자 PlayFab Entity ID를 가진 디바이스 간에 직접 피어 투 피어 연결을 시도할 수 있습니다.<br /><br /> 처음에 로컬 사용자를 네트워크에 인증하는 디바이스는 새로 인증하는 사용자와 동일한 공급자(예: XBOX Live, Facebook, iOS, Google)를 사용하여 로그인된 인증된 사용자 PlayFab Entity ID가 하나 이상 있는 원격 디바이스와 직접 피어 투 피어 연결을 설정하려고 시도합니다. <br /><br /> 이 플래그 자체만으로는 직접 피어 투 피어 연결 시도가 허용되지 않는다는 점에 유의하세요. `SamePlatformType` 및 `DifferentPlatformType` 플래그 중 하나 또는 둘 다와 결합해야 합니다.   <br /><br /> 이 플래그는 [PartyNetworkConfiguration](/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration) 구조체의 `OnlyServers` 플래그와 결합할 수 없습니다. [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](/services/playfab/multiplayer/networking/reference/enums/partyoption) 값의 일부로서 `OnlyServers`와 결합할 수 있습니다. <br /><br />                                                                                                                                                                                    |                                            |
| DifferentEntityLoginProvider | 서로 다른 공급자를 사용하여 로그인된 인증된 사용자 PlayFab Entity ID를 가진 디바이스 간에 직접 피어 투 피어 연결을 시도할 수 있습니다.<br /><br /> 처음에 로컬 사용자를 네트워크에 인증하는 디바이스는 새로 인증하는 사용자와 동일한 공급자(예: XBOX Live, Facebook, iOS, Google)를 사용하여 로그인된 인증된 사용자 PlayFab Entity ID가 하나도 없는 원격 디바이스와 직접 피어 투 피어 연결을 설정하려고 시도합니다. <br /><br /> 이 플래그 자체만으로는 직접 피어 투 피어 연결 시도가 허용되지 않는다는 점에 유의하세요. `SamePlatformType` 및 `DifferentPlatformType` 플래그 중 하나 또는 둘 다와 결합해야 합니다.   <br /><br /> 이 플래그는 [PartyNetworkConfiguration](/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration) 구조체의 `OnlyServers` 플래그와 결합할 수 없습니다. [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](/services/playfab/multiplayer/networking/reference/enums/partyoption) 값의 일부로서 `OnlyServers`와 결합할 수 있습니다.                                                                                                                                                                                                 |                                            |
| AnyEntityLoginProvider       | 인증된 사용자 PlayFab Entity ID를 로그인하는 데 사용된 공급자에 관계없이 디바이스 간에 직접 피어 투 피어 연결을 시도할 수 있습니다.<br /><br /> 이 플래그는 \`\`\`SameEntityLoginProvider                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | DifferentEntityLoginProvider\`\`\`와 동일합니다. |
| OnlyServers                  | 디바이스 중 하나 이상이 PlayFab Entity 유형이 `game_server`인 인증된 사용자를 갖는 경우 디바이스 간에 직접 피어 투 피어 연결을 시도할 수 있습니다.<br /><br /> 처음에 로컬 사용자를 네트워크에 인증하는 디바이스는, 로컬 사용자 또는 원격 디바이스의 사용자 중 하나가 [PartyManager::CreateLocalUserWithEntityType()](/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_createlocaluserwithentitytype)에 지정된 `game_server` PlayFab Entity 유형인 경우 원격 디바이스와 직접 피어 투 피어 연결을 설정하려고 시도합니다. 즉, 플레이어 디바이스는 서로 직접 연결되지 않고 서버 디바이스에만 연결됩니다. 서버 디바이스는 모든 플레이어 및 다른 서버 디바이스에 직접 연결하려고 시도합니다. <br /><br /> 이 플래그는 [PartyNetworkConfiguration](/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration) 구조체에서 `SamePlatformType`, `DifferentPlatformType`, `SameEntityLoginProvider` 또는 `DifferentEntityLoginProvider` 플래그와 결합할 수 없습니다. [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](/services/playfab/multiplayer/networking/reference/enums/partyoption) 값의 일부로서 해당 플래그들과 결합할 수 있습니다. |                                            |

## Remarks

초기 사용자를 네트워크에 성공적으로 인증하는 과정의 일환으로, 디바이스는 네트워크의 [PartyNetworkConfiguration](/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration) 구조체에 선언된 이러한 플래그로 허용되는 경우 네트워크에 이미 참여 중인 다른 디바이스와 직접 피어 투 피어 연결을 설정하려고 시도할 수 있습니다. 성공한 시도의 경우, 디바이스 간의 엔드포인트 메시지 및 채팅 데이터는 해당 직접 연결을 사용하여 전송됩니다. 디바이스 간의 환경적 비호환성으로 인해 실패한 시도의 경우, 해당 디바이스 간의 모든 통신은 대신 투명 클라우드 릴레이 서버를 통해 전송됩니다. 이러한 플래그로 디바이스에서 직접 피어 연결을 시도하는 것이 허용되지 않는 경우, IP 주소 정보를 교환하지 않으며 항상 투명 클라우드 릴레이 서버를 통해 엔드포인트 메시지 및 채팅 데이터를 전송합니다. <br /><br /> [PartyNetwork::GetDeviceConnectionType()](/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_getdeviceconnectiontype)을 호출하여 로컬 디바이스가 특정 원격 디바이스에 실제로 직접 피어 투 피어 연결을 설정했는지 확인할 수 있습니다.   <br /><br /> 성공한 직접 피어 연결은 일부 디바이스 간에 낮은 대기 시간을 제공할 수 있지만, 이를 설정하려고 시도하려면 사용자가 자신의 디바이스 IP 주소를 다른 사람에게 공개해야 하며, 이는 프라이버시에 대한 우려이거나 악의적인 사용자가 타이틀 외부에서 피어 디바이스와 인터넷 연결을 공격할 가능성을 열어줄 수 있습니다. 또한 정책상의 이유로 특정 플랫폼에서 허용되지 않을 수 있습니다. 성능 및 보안 목표에 적합한 플래그를 반드시 사용하세요.   <br /><br /> 특정 네트워크의 [PartyNetworkConfiguration::directPeerConnectivityOptions](/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration) 값 외에도, 디바이스가 [PartyManager::SetOption()](/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setoption)을 사용하여 [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](/services/playfab/multiplayer/networking/reference/enums/partyoption)를 설정함으로써 인증하는 모든 네트워크에 대해 플래그를 추가로 제한할 수 있습니다. 모든 플래그는 비트 AND 연산을 사용하여 평가됩니다. 즉, 특정 플래그는 네트워크의 [PartyNetworkConfiguration](/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration) 구조체와 *양쪽* 디바이스의 각 로컬 마스크 옵션 세 곳에서 모두 활성화된 경우에만 특정 네트워크의 디바이스 쌍에 대해 유효합니다. Party 네트워크가 관련 형식의 직접 피어 연결을 허용하더라도, 어느 디바이스든 플래그를 활성화하지 않음으로써 IP 주소 공개 및 그들 간의 직접 연결 시도를 일방적으로 옵트아웃할 수 있습니다. [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](/services/playfab/multiplayer/networking/reference/enums/partyoption) 값은 네트워크에서 활성화된 모든 직접 피어 연결을 허용하도록 기본 설정되어 있으므로, 디바이스와 관련된 일부 또는 모든 직접 피어 연결을 방지하는 디바이스별 요구 사항이 있는 경우에만 구성하면 됩니다.   <br /><br /> 과도한 리소스 소비를 방지하기 위해 Party 라이브러리는 이러한 플래그로 허용되더라도 특정 디바이스가 현재 참여 중인 모든 네트워크에서 구성된 최대 직접 피어 연결 수를 초과하여 설정하려고 시도하는 것을 내부적으로 방지합니다. 이는 더 많은 원격 디바이스가 있는 대규모 또는 여러 네트워크에 참여하는 디바이스의 능력에는 영향을 주지 않습니다. 추가 디바이스와의 통신은 단순히 투명 클라우드 릴레이 서버를 통해 전송됩니다. 해당 최대 직접 피어 연결 수를 수정하려면 [PartyManager::SetOption()](/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setoption)을 사용하여 [PartyOption::LocalDeviceMaxDirectPeerConnections](/services/playfab/multiplayer/networking/reference/enums/partyoption)를 설정하세요.   <br /><br /> 사용 중인 특정 기본 전송 메커니즘이 통신할 수 있는 전반적인 논리적 능력을 변경하지 않으므로, 특정 디바이스 쌍에 대해 직접 피어 투 피어 연결의 가용성을 적극적으로 강제하지 않는 것이 좋습니다(즉, [PartyNetwork::GetDeviceConnectionType()](/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_getdeviceconnectiontype)이 [PartyDeviceConnectionType::DirectPeerConnection](/services/playfab/multiplayer/networking/reference/enums/partydeviceconnectiontype) 이외의 값을 보고하는 경우 [PartyNetwork::LeaveNetwork()](/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_leavenetwork)를 호출하지 마세요). 게임 디자인에 직접 피어 연결을 권장하는 최대 메시지 대기 시간에 대한 엄격한 요구 사항이 있는 경우, 전송 메커니즘에 기반한 추상적인 가정을 하기보다는 [PartyEndpointStatistic::AverageDeviceRoundTripLatencyInMilliseconds](/services/playfab/multiplayer/networking/reference/enums/partyendpointstatistic) 통계에서 보고된 해당 대기 시간의 현재 구체적인 관측치에 대해 조치를 취하는 것이 좋습니다. 그렇지 않으면 자신들의 제어를 벗어난 환경적 요인 때문에 항상 인근 투명 클라우드 릴레이 서버를 사용해야 하는 동일한 친구 그룹과 함께 플레이하려는 사용자를 지속적으로 방해할 수 있습니다.

## Requirements

**Header:** Party.h

## See also

[Party members](/services/playfab/multiplayer/networking/reference/party_members)\
[PartyNetworkConfiguration](/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration)\
[PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](/services/playfab/multiplayer/networking/reference/enums/partyoption)\
[PartyManager::SetOption](/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setoption)\
[PartyEndpointStatistic::AverageDeviceRoundTripLatencyInMilliseconds](/services/playfab/multiplayer/networking/reference/enums/partyendpointstatistic)\
[PartyLocalEndpoint::GetEndpointStatistics](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics)


## Related topics

- [PartyOption](/ko/services/playfab/multiplayer/networking/reference/enums/partyoption.md)
- [PartyNetworkConfiguration](/ko/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration.md)
- [PlayFab Party 릴리스 정보](/ko/services/playfab/multiplayer/networking/release-notes.md)
- [Party C/C++ API 개요](/ko/services/playfab/multiplayer/networking/reference/party_members.md)
- [DirectPeerConnectivityOptions](/ko/services/playfab/multiplayer/networking/unity-party-api-reference/enums/partyunitydirectpeerconnectivityoptions.md)
