연결, 채널과 메시지 처리를 위한 Photon Chat API 의 중심 클래스. More...
Inherits IPhotonPeerListener.
Public Member Functions | |
bool | CanChatInChannel (string channelName) |
ChatClient (IChatClientListener listener, ConnectionProtocol protocol=ConnectionProtocol.Udp) | |
bool | Connect (string appId, string appVersion, AuthenticationValues authValues) |
이 클라이언트를 Photon Chat 클라우드 서비스로 연결하는데 사용자(그리고 UserId 설정)의 인증도 하게 됩니다. More... | |
void | Service () |
클라이언트와 서버의 연결상태를 유지하고 수신되는 메시지 처리를 위해 규칙적으로 호출해주어야 합니다. More... | |
void | Disconnect () |
void | StopThread () |
bool | Subscribe (string[] channels) |
이름으로 나열된 채널 목록을 구독하는 오퍼레이션을 전송합니다. More... | |
bool | Subscribe (string[] channels, int messagesFromHistory) |
채널에 클라이언트 구독을 위해 오퍼레이션 전송, 선택적으로 캐시로 부터 메시지의 갯수를 가져옴. More... | |
bool | Unsubscribe (string[] channels) |
채널 목록을 구독해지 하여 채널 목독의 메시지 수신이 중지됩니다. More... | |
bool | PublishMessage (string channelName, object message) |
이 클라이언트가 구독중인 공개 채널로 메시지를 전송합니다. More... | |
bool | SendPrivateMessage (string target, object message) |
사용자 한명에게 비밀 메시지를 전송합니다. 수신측 클라이언트에서는 OnPrivateMessage 를 호출합니다. More... | |
bool | SendPrivateMessage (string target, object message, bool encrypt) |
사용자 한명에게 비밀 메시지를 전송합니다. 수신측 클라이언트에서는 OnPrivateMessage 를 호출합니다. More... | |
bool | SetOnlineStatus (int status) |
상태-메시지 변경없이 사용자의 상태를 설정합니다. More... | |
bool | SetOnlineStatus (int status, object message) |
상태-메시지 변경없이 사용자의 상태를 설정합니다. More... | |
bool | AddFriends (string[] friends) |
친구들의 상태 변경을 전송해주는 Chat 서버의 리스트에 친구를 추가합니다. More... | |
bool | RemoveFriends (string[] friends) |
채팅 서버의 목록에서 제공된 항목을 제거하고 이들의 상태 업데이트를 중지합니다. More... | |
string | GetPrivateChannelNameByUser (string userName) |
이 클라이언트와 다른 사용자간 채팅에 대한 (로컬에서 사용된) 채널명을 얻습니다. More... | |
bool | TryGetChannel (string channelName, bool isPrivate, out ChatChannel channel) |
Simplified access to either private or public channels by name. More... | |
bool | TryGetChannel (string channelName, out ChatChannel channel) |
이름으로 모든 채널에 간단히 접근합니다. 공개 채널을 우선 검토한 후 비밀 채널을 검토합니다. More... | |
void | SendAcksOnly () |
Public Attributes | |
int | MessageLimit |
0 보다 크면 로컬에 캐시되는 메시지의 갯수가 제한됩니다. More... | |
readonly Dictionary< string, ChatChannel > | PublicChannels |
readonly Dictionary< string, ChatChannel > | PrivateChannels |
ChatPeer | chatPeer = null |
Properties | |
string | NameServerAddress [get] |
가장 최근에 연결한 네임 서버 주소. More... | |
string | FrontendAddress [get] |
네임 서버로부터 할당된 실제 채팅 서버 주소. 공개이며 읽기전용입니다. 공개이며 읽기전용입니다. More... | |
string | ChatRegion [get, set] |
연결전에만 설정할 수 있습니다! 기본값은 "EU" 입니다. More... | |
ChatState | State [get] |
현재ChatClient 의 상태. CanChat 도 사용하세요. More... | |
ChatDisconnectCause | DisconnectedCause [get] |
bool | CanChat [get] |
string | AppVersion [get] |
클라이언트의 버전입니다. 새로운 버전은 이전 클라이언트 버전들에서 플레이어들을 분리하기 위해서 새로운 "virtual app" 도 생성합니다. More... | |
string | AppId [get] |
Photon 클라우드로부터 할당된 AppID 입니다. 자체 호스트를 하고 있으면, 이것은 "일반적인" Photon 서버 어플리케이션 이름입니다. (대부분이: "LoadBalancing"). More... | |
AuthenticationValues | AuthValues [get, set] |
연결전에만 설정할 수 있습니다! More... | |
string | UserId [get] |
사용자/개인의 유일한 ID로 AuthValues.UserId 에 저장됩니다. 연결전에 설정 해주세요. More... | |
DebugLevel | DebugOut [get, set] |
라이브러리에서 발생하는 디버그 출력에 대한 레벨(그리고 양)을 설정합니다. More... | |
연결, 채널과 메시지 처리를 위한 Photon Chat API 의 중심 클래스.
이 클래스는 콜백을 받기 위해서는 반드시 a IChatClientListener 인스턴스로 인스턴스화되어야 합니다. 주기적으로 서비스를 호출하여 게임루프에 통합시켜주세요. Photon Chat 어플리케이션과 같이 AppId 를 가진 Connect 를 호출합니다 노트: Connect 는 이 클라이언트와 서버간의 여러개의 메시지를 다룹니다. 짧은 작업흐름은 채팅 서버로 연결해줍니다.
각 ChatClient 는 채팅(Connect 에서 설정)에서 사용자와 유사합니다. 각 사용자는 수신되는 비밀 메시지 채널을 자동적으로 구독하고 다른 사용자에게 비밀로 메시지를 보낼 수 있습니다. 공개용 채널에 메시지를 게시하기 전에 게시하려는 채널을 반드시 구독해야 합니다.
PublicChannels 은 구독중인 채널들의 목록이며, 메시지와 전송자들이 들어 있습니다. PrivateChannels 은 송수신된 모든 비밀 메시지들을 담고 있습니다.
ExitGames.Client.Photon.Chat.ChatClient.ChatClient | ( | IChatClientListener | listener, |
ConnectionProtocol | protocol = ConnectionProtocol.Udp |
||
) |
bool ExitGames.Client.Photon.Chat.ChatClient.AddFriends | ( | string[] | friends | ) |
친구들의 상태 변경을 전송해주는 Chat 서버의 리스트에 친구를 추가합니다.
AddFriends 와 RemoveFriends 를 이용하여 Photon Chat 서버에서 클라이언트들이 친구 목록을 처리할 수 있습니다. 친구 목록에 있는 사용자가 있으면 이 사용자의 현재 온라인 상태에 접근할 수 있습니다. (그리고 클라이언트가 친구목록에 설정한 모든 정보).
각 사용자는 정수와 임의의(직렬화할수있는)객체로 구성되어 있는 온라인 상태를 설정할 수 있습니다. 객체는 null , 해시테이블, object[] 또는 Photon 이 직렬화 할 수 있는 상태는 자동적으로 친구들에게 게시됩니다 (사용자 ID 를 AddFriends 로 설정한 모든 사용자).
Photon 은 채팅 클라이언트의 연결이 해제되면 친구 목록에서 없애기 때문에 매번 설정해야할 필요가 있습니다. 커뮤니티 API 가 이미 온라인 상태 접근을 주었다면 AddFriends 에서 온라인 친구들을 설정하고 필터링할 수 있습니다.
실체의 친구 관계는 영구적이지 않으며 Photon 외부에 저장되어야 합니다.
friends | 친구 userId 들의 배열. |
bool ExitGames.Client.Photon.Chat.ChatClient.CanChatInChannel | ( | string | channelName | ) |
bool ExitGames.Client.Photon.Chat.ChatClient.Connect | ( | string | appId, |
string | appVersion, | ||
AuthenticationValues | authValues | ||
) |
이 클라이언트를 Photon Chat 클라우드 서비스로 연결하는데 사용자(그리고 UserId 설정)의 인증도 하게 됩니다.
appId | 관리화면에서 Photon Chat AppId 를 얻으세요. |
appVersion | 문자열로 구성한 버전. 사용자를 분리하고 호환이 되지 않을 수 도 있는 클라이언트를 분산하기 위해 사용. |
authValues | 인증 값. 이전에 UserId 를 설정했다면 null 로 그대로 놔 둘수도 있습니다. authValues 를 설정했다면, 이전에 설정한 모든 UserId 를 오버라이드할 것 입니다. |
void ExitGames.Client.Photon.Chat.ChatClient.Disconnect | ( | ) |
string ExitGames.Client.Photon.Chat.ChatClient.GetPrivateChannelNameByUser | ( | string | userName | ) |
이 클라이언트와 다른 사용자간 채팅에 대한 (로컬에서 사용된) 채널명을 얻습니다.
userName | 원격 사용자명 또는 UserId. |
bool ExitGames.Client.Photon.Chat.ChatClient.PublishMessage | ( | string | channelName, |
object | message | ||
) |
이 클라이언트가 구독중인 공개 채널로 메시지를 전송합니다.
채널에 게시하기 전에 먼저 구독을 해야 합니다. 이 채널에 있는 모든 사람들은 이 메시지를 수신할 것 입니다.
channelName | 게시할 채널 이름. |
message | 메시지 (문자열 또는 직렬화할 수 있는 데이터). |
bool ExitGames.Client.Photon.Chat.ChatClient.RemoveFriends | ( | string[] | friends | ) |
채팅 서버의 목록에서 제공된 항목을 제거하고 이들의 상태 업데이트를 중지합니다.
Photon 은 채팅 클라이언트가 연결해제 될때 친구 목록을 정리합니다. 개별 항목 제거를 원하지 않는 한 RemoveFriends 를 수행할 필요는 없습니다.
AddFriends 와 RemoveFriends 는 클라이언트가 Photon 채팅 서버에 있는 친구 목록을 다룰 수 있도록 합니다. 친구들이 목록이 있는 사용자들은 친구들의 온라인 상태에 접근할 수 있습니다(그리고 클라이언트가 설정한 모든 정보도).
각 사용자는 정수와 임의의(직렬화할수있는) 객체로 구성된 온라인 상태를 설정할 수 있습니다. 객체는 null , Hashtable, object[] 및 Photon 이 직렬화 할 수 있는 어떤것도 될 수 있습니다.
상태는 자동적으로 친구들에게 게시됩니다(내 사용자ID 를 AddFriends 로 설정한 모두).
Photon 은 채팅 클라이언트가 연결해제될 때 친구 목록을 정리하므로 매번 설정해주어야 합니다. 커뮤니티 API 가 이미 온라인 상태에 접근권한을 주었다면 AddFriends 에서 친구들을 필터링하고 온라인 친구로 설정할 수 있습니다.
실제 친구 관계는 저장되지 않으므로 Photon 의 외부에서 저장되어야 합니다.
AddFriends 와 RemoveFriends 는 클라이언트가 Photon 채팅 서버에 있는 친구 목록을 다룰 수 있도록 합니다. 친구들이 목록이 있는 사용자들은 친구들의 온라인 상태에 접근할 수 있습니다(그리고 클라이언트가 설정한 모든 정보도).
각 사용자는 정수와 임의의(직렬화할수있는) 객체로 구성된 온라인 상태를 설정할 수 있습니다. 객체는 null , Hashtable, object[] 및 Photon 이 직렬화 할 수 있는 어떤것도 될 수 있습니다.
상태는 자동으로 친구들에게 게시됩니다 (AddFriends 로 사용자 ID를 설정한 모두).
실제 친구 관계는 저장되지 않으므로 Photon 의 외부에서 저장되어야 합니다.
friends | Array of friend userIds. |
void ExitGames.Client.Photon.Chat.ChatClient.SendAcksOnly | ( | ) |
bool ExitGames.Client.Photon.Chat.ChatClient.SendPrivateMessage | ( | string | target, |
object | message | ||
) |
사용자 한명에게 비밀 메시지를 전송합니다. 수신측 클라이언트에서는 OnPrivateMessage 를 호출합니다.
target | 이 메시제를 전송할 사용자명. |
message | 전송하려는 메시지. 단순한 문자열이나 모든 직렬화할 수 있는 것. |
bool ExitGames.Client.Photon.Chat.ChatClient.SendPrivateMessage | ( | string | target, |
object | message, | ||
bool | encrypt | ||
) |
사용자 한명에게 비밀 메시지를 전송합니다. 수신측 클라이언트에서는 OnPrivateMessage 를 호출합니다.
target | 이 메시제를 전송할 사용자명. |
message | 전송하려는 메시지. 단순한 문자열이나 모든 직렬화할 수 있는 것. |
encrypt | 선택적으로, 비밀 메시지는 암호화 될 수 있습니다. 서버가 메시지를 암호를 복호화하므로 엔드투엔드 암호화는 아닙니다. |
void ExitGames.Client.Photon.Chat.ChatClient.Service | ( | ) |
클라이언트와 서버의 연결상태를 유지하고 수신되는 메시지 처리를 위해 규칙적으로 호출해주어야 합니다.
이 메소드는 자동으로 전용 변수 msDeltaForServiceCalls 을 사용하는 노력을 제한합니다. 이 값은 연결 보다 적고 채팅-서버 연결이 되어 있으면 4배 입니다.
bool ExitGames.Client.Photon.Chat.ChatClient.SetOnlineStatus | ( | int | status | ) |
상태-메시지 변경없이 사용자의 상태를 설정합니다.
사전 정의된 상태값은 ChatUserStatus에 있습니다. ChatUserStatus.Invisible 상태는 오프라인상태로 만들어서 모든 사용자가 메시지를 전송할 수 없습니다.
상태 정수값으로 커스텀 값을 설정할 수 있습니다. 사전 설정된 것을 별도로 하고, 모든 상태는 보이며 온라인 상태로 취급됩니다. 그렇지 않으면 아무도 커스텀 상태를 보지 못하게 될 것 입니다.
이 오러로드는 설정된 메시지를 변경하지 않습니다.
status | ChatUserStatus 클래스에서 사전정의된 상태들. 다른 값은 필요에 따라 사용할 수 있습니다. |
bool ExitGames.Client.Photon.Chat.ChatClient.SetOnlineStatus | ( | int | status, |
object | message | ||
) |
상태-메시지 변경없이 사용자의 상태를 설정합니다.
사전 정의된 상태값은 ChatUserStatus에 있습니다. ChatUserStatus.Invisible 상태는 오프라인상태로 만들어서 모든 사용자가 메시지를 전송할 수 없습니다.
상태 정수값으로 커스텀 값을 설정할 수 있습니다. 사전 설정된 것을 별도로 하고, 모든 상태는 보이며 온라인 상태로 취급됩니다. 그렇지 않으면 아무도 커스텀 상태를 보지 못하게 될 것 입니다.
메시지 객체는 Photon 이 직력화 할 수 있는 모든 것이 될 수 있습니다.Hashtable, object[] 과 string 이 될 수 있습니다(이에 국한되지는 않습니다). 이 값은 내 대화에 의해서 정의 됩니다.
status | ChatUserStatus 클래스에서 사전정의된 상태들. 다른 값은 필요에 따라 사용할 수 있습니다 |
message | 친구들이 받을 수 있는 상태-메시지도 설정합니다. |
void ExitGames.Client.Photon.Chat.ChatClient.StopThread | ( | ) |
bool ExitGames.Client.Photon.Chat.ChatClient.Subscribe | ( | string[] | channels | ) |
이름으로 나열된 채널 목록을 구독하는 오퍼레이션을 전송합니다.
channels | 구독하려는 채널 목록. null 또는 비어있는 값은 피해주세요. |
bool ExitGames.Client.Photon.Chat.ChatClient.Subscribe | ( | string[] | channels, |
int | messagesFromHistory | ||
) |
채널에 클라이언트 구독을 위해 오퍼레이션 전송, 선택적으로 캐시로 부터 메시지의 갯수를 가져옴.
채널을 구독하면 이 사용자에게 새로운 메시지를 포워딩할 것 입니다. 이렇게 하기 위해 PublishMessage를 사용하세요. 이 메시지 캐시는 제한되지만 필요에 따라 진행되는 대화에 참여하기 위해 유용합니다.
channels | 구독하려는 채널 목록. null 또는 비어있는 값은 피해주세요. |
messagesFromHistory | 0: 이력없음. 1 이상: 이력에 있는 메시지 갯수. -1: 사용할 수 있는 이력 모두. |
bool ExitGames.Client.Photon.Chat.ChatClient.TryGetChannel | ( | string | channelName, |
bool | isPrivate, | ||
out ChatChannel | channel | ||
) |
Simplified access to either private or public channels by name.
channelName | 얻기위한 채널 이름. 비공개 채널에 대해서는 channel-name은 두 사용자 이름으로 구성되어 있습니다.. |
isPrivate | 비공개 또는 공개철로로 예상되면 정의함. |
channel | 출력 파라미터는 검색된 채널이 있으면 검색된 채널. |
bool ExitGames.Client.Photon.Chat.ChatClient.TryGetChannel | ( | string | channelName, |
out ChatChannel | channel | ||
) |
이름으로 모든 채널에 간단히 접근합니다. 공개 채널을 우선 검토한 후 비밀 채널을 검토합니다.
channelName | 얻으려는 채널의 이름. |
channel | 출력 파라미터는 검색된 채널이 있다면 검색된 채널. |
bool ExitGames.Client.Photon.Chat.ChatClient.Unsubscribe | ( | string[] | channels | ) |
채널 목록을 구독해지 하여 채널 목독의 메시지 수신이 중지됩니다.
서버가 이 요청에 대해서 응답을 전송하자마자, 클라이언트는 PublicChannels 딕셔너리에서 이 채널들을 제거합니다.
요청은 서버로 전송되고 서버에서 실제로 채널 구독이 제거되면 IChatClientListener.OnUnsubscribed 이 호출 됩니다.
구독해제는 null 또는 비어있는 채널 명이 있을 때 실패합니다.
channels | 구독해지할 채널들의 이름 |
ChatPeer ExitGames.Client.Photon.Chat.ChatClient.chatPeer = null |
int ExitGames.Client.Photon.Chat.ChatClient.MessageLimit |
0 보다 크면 로컬에 캐시되는 메시지의 갯수가 제한됩니다.
채팅에서 사용되는 메모리 양을 제한할 때 매우 유용할 수 있습니다. 채널당 MessageLimit울 설정할 수 있지만 이 값은 새로운 채널에만 적용됩니다.
노트: 이 값을 변경해도 이미 사용중인 ChatChannel 에는 영향을 주지 않습니다.
readonly Dictionary<string, ChatChannel> ExitGames.Client.Photon.Chat.ChatClient.PrivateChannels |
readonly Dictionary<string, ChatChannel> ExitGames.Client.Photon.Chat.ChatClient.PublicChannels |
|
get |
|
get |
클라이언트의 버전입니다. 새로운 버전은 이전 클라이언트 버전들에서 플레이어들을 분리하기 위해서 새로운 "virtual app" 도 생성합니다.
|
getset |
연결전에만 설정할 수 있습니다!
|
get |
|
getset |
연결전에만 설정할 수 있습니다! 기본값은 "EU" 입니다.
|
getset |
라이브러리에서 발생하는 디버그 출력에 대한 레벨(그리고 양)을 설정합니다.
IChatClientListener.DebugReturn 의 콜백에 영향을 줍니다. 기본 레벨: Error.
|
get |
|
get |
네임 서버로부터 할당된 실제 채팅 서버 주소. 공개이며 읽기전용입니다. 공개이며 읽기전용입니다.
|
get |
가장 최근에 연결한 네임 서버 주소.
|
get |
현재ChatClient 의 상태. CanChat 도 사용하세요.
|
get |
사용자/개인의 유일한 ID로 AuthValues.UserId 에 저장됩니다. 연결전에 설정 해주세요.
이 값은 AuthValues.UserId 를 래핑합니다. 닉네임이 아니고 동일한 userID 를 가지고 있다면 동일인으로 간주합니다.