public ChatClient(IChatClientListener listener, ConnectionProtocol protocol = 0) { this.listener = listener; this.State = ChatState.Uninitialized; this.chatPeer = new ChatPeer(this, protocol); this.PublicChannels = new Dictionary <string, ChatChannel>(); this.PrivateChannels = new Dictionary <string, ChatChannel>(); this.PublicChannelsUnsubscribing = new HashSet <string>(); }
public bool Connect(ConnectionProtocol protocol, string appId, string appVersion, string userId, AuthenticationValues authValues) { #if UNITY_WEBGL if (protocol != ConnectionProtocol.WebSocket && protocol != ConnectionProtocol.WebSocketSecure) { UnityEngine.Debug.Log("WebGL only supports WebSocket protocol. Overriding ChatClient.Connect() 'protocol' parameter"); protocol = ConnectionProtocol.WebSocketSecure; } #endif if (!this.HasPeer) { this.chatPeer = new ChatPeer(this, protocol); } else { this.Disconnect(); if (this.chatPeer.UsedProtocol != protocol) { this.chatPeer = new ChatPeer(this, protocol); } } this.chatPeer.TimePingInterval = 3000; this.DisconnectedCause = ChatDisconnectCause.None; this.CustomAuthenticationValues = authValues; this.UserId = userId; this.AppId = appId; this.AppVersion = appVersion; this.didAuthenticate = false; this.msDeltaForServiceCalls = 100; // clean all channels this.PublicChannels.Clear(); this.PrivateChannels.Clear(); bool isConnecting = this.chatPeer.Connect(); if (isConnecting) { this.State = ChatState.ConnectingToNameServer; } return(isConnecting); }
public ChatClient(IChatClientListener listener, ConnectionProtocol protocol = #if UNITY_WEBGL ConnectionProtocol.WebSocketSecure #else ConnectionProtocol.Udp #endif ) { #if UNITY_WEBGL if (protocol != ConnectionProtocol.WebSocket && protocol != ConnectionProtocol.WebSocketSecure) { UnityEngine.Debug.Log("WebGL only supports WebSocket protocol. Overriding ChatClient.Connect() 'protocol' parameter"); protocol = ConnectionProtocol.WebSocketSecure; } #endif this.listener = listener; this.State = ChatState.Uninitialized; this.chatPeer = new ChatPeer(this, protocol); this.PublicChannels = new Dictionary<string, ChatChannel>(); this.PrivateChannels = new Dictionary<string, ChatChannel>(); }
public bool Connect(string address, ConnectionProtocol protocol, string appId, string appVersion, string userId, AuthenticationValues authValues) { if (!this.HasPeer) { this.chatPeer = new ChatPeer(this, protocol); } else { this.Disconnect(); if (this.chatPeer.UsedProtocol != protocol) { this.chatPeer = new ChatPeer(this, protocol); } } // #pragma warning disable 0162 // the library variant defines if we should use PUN's SocketUdp variant (at all) // if (PhotonPeer.NoSocket) // { // #if !UNITY_EDITOR && (UNITY_PS3 || UNITY_ANDROID) // UnityEngine.Debug.Log("Chat uses class SocketUdpNativeDynamic"); // this.chatPeer.SocketImplementation = typeof(SocketUdpNativeDynamic); // #elif !UNITY_EDITOR && UNITY_IPHONE // UnityEngine.Debug.Log("Chat uses class SocketUdpNativeStatic"); // this.chatPeer.SocketImplementation = typeof(SocketUdpNativeStatic); // #elif !UNITY_EDITOR && (UNITY_WINRT || UNITY_WP8) // // this automatically uses a separate assembly-file with Win8-style Socket usage (not possible in Editor) // #else // UnityEngine.Debug.Log("Chat uses class SocketUdp (default)"); // this.chatPeer.SocketImplementation = typeof(SocketUdp); // // PhotonHandler.PingImplementation defaults to PingMono // #endif // // if (this.chatPeer.SocketImplementation == null) // { // UnityEngine.Debug.Log("No socket implementation set for 'NoSocket' assembly. Please contact Exit Games."); // } // } // #pragma warning restore 0162 this.chatPeer.TimePingInterval = 3000; this.DisconnectedCause = ChatDisconnectCause.None; this.CustomAuthenticationValues = authValues; this.UserId = userId; this.AppId = appId; this.AppVersion = appVersion; this.didAuthenticate = false; this.msDeltaForServiceCalls = 100; // clean all channels this.PublicChannels.Clear(); this.PrivateChannels.Clear(); if (!address.Contains(":")) { int port = 0; ProtocolToNameServerPort.TryGetValue(protocol, out port); address = string.Format("{0}:{1}", address, port); } bool isConnecting = this.chatPeer.Connect(address, "NameServer"); if (isConnecting) { this.State = ChatState.ConnectingToNameServer; } return isConnecting; }
public bool Connect(string address, ConnectionProtocol protocol, string appId, string appVersion, string userId, AuthenticationValues authValues) { if (!this.HasPeer) { this.chatPeer = new ChatPeer(this, protocol); } else { this.Disconnect(); if (this.chatPeer.UsedProtocol != protocol) { this.chatPeer = new ChatPeer(this, protocol); } } #if UNITY #pragma warning disable 0162 // the library variant defines if we should use PUN's SocketUdp variant (at all) if (PhotonPeer.NoSocket) { #if !UNITY_EDITOR && (UNITY_PS3 || UNITY_ANDROID) UnityEngine.Debug.Log("Using class SocketUdpNativeDynamic"); this.chatPeer.SocketImplementation = typeof(SocketUdpNativeDynamic); #elif !UNITY_EDITOR && UNITY_IPHONE UnityEngine.Debug.Log("Using class SocketUdpNativeStatic"); this.chatPeer.SocketImplementation = typeof(SocketUdpNativeStatic); #elif !UNITY_EDITOR && (UNITY_WINRT) // this automatically uses a separate assembly-file with Win8-style Socket usage (not possible in Editor) #else Type udpSocket = Type.GetType("ExitGames.Client.Photon.SocketUdp, Assembly-CSharp"); this.chatPeer.SocketImplementation = udpSocket; if (udpSocket == null) { UnityEngine.Debug.Log("ChatClient could not find a suitable C# socket class. The Photon3Unity3D.dll only supports native socket plugins."); } #endif if (this.chatPeer.SocketImplementation == null) { UnityEngine.Debug.Log("No socket implementation set for 'NoSocket' assembly. Please contact Exit Games."); } } #pragma warning restore 0162 #endif this.chatPeer.TimePingInterval = 3000; this.DisconnectedCause = ChatDisconnectCause.None; this.CustomAuthenticationValues = authValues; this.UserId = userId; this.AppId = appId; this.AppVersion = appVersion; this.didAuthenticate = false; this.msDeltaForServiceCalls = 100; // clean all channels this.PublicChannels.Clear(); this.PrivateChannels.Clear(); if (!address.Contains(":")) { int port = 0; ProtocolToNameServerPort.TryGetValue(protocol, out port); address = string.Format("{0}:{1}", address, port); } bool isConnecting = this.chatPeer.Connect(address, "NameServer"); if (isConnecting) { this.State = ChatState.ConnectingToNameServer; } return(isConnecting); }
public bool Connect(string address, ConnectionProtocol protocol, string appId, string appVersion, string userId, AuthenticationValues authValues) { if (!this.HasPeer) { this.chatPeer = new ChatPeer(this, protocol); } else { this.Disconnect(); if (this.chatPeer.UsedProtocol != protocol) { this.chatPeer = new ChatPeer(this, protocol); } } #if UNITY #pragma warning disable 0162 // the library variant defines if we should use PUN's SocketUdp variant (at all) if (PhotonPeer.NoSocket) { #if !UNITY_EDITOR && (UNITY_PS3 || UNITY_ANDROID) UnityEngine.Debug.Log("Using class SocketUdpNativeDynamic"); this.chatPeer.SocketImplementation = typeof(SocketUdpNativeDynamic); #elif !UNITY_EDITOR && UNITY_IPHONE UnityEngine.Debug.Log("Using class SocketUdpNativeStatic"); this.chatPeer.SocketImplementation = typeof(SocketUdpNativeStatic); #elif !UNITY_EDITOR && (UNITY_WINRT) // this automatically uses a separate assembly-file with Win8-style Socket usage (not possible in Editor) #else Type udpSocket = Type.GetType("ExitGames.Client.Photon.SocketUdp, Assembly-CSharp"); this.chatPeer.SocketImplementation = udpSocket; if (udpSocket == null) { UnityEngine.Debug.Log("ChatClient could not find a suitable C# socket class. The Photon3Unity3D.dll only supports native socket plugins."); } #endif if (this.chatPeer.SocketImplementation == null) { UnityEngine.Debug.Log("No socket implementation set for 'NoSocket' assembly. Please contact Exit Games."); } } #pragma warning restore 0162 #endif this.chatPeer.TimePingInterval = 3000; this.DisconnectedCause = ChatDisconnectCause.None; this.CustomAuthenticationValues = authValues; this.UserId = userId; this.AppId = appId; this.AppVersion = appVersion; this.didAuthenticate = false; this.msDeltaForServiceCalls = 100; // clean all channels this.PublicChannels.Clear(); this.PrivateChannels.Clear(); if (!address.Contains(":")) { int port = 0; ProtocolToNameServerPort.TryGetValue(protocol, out port); address = string.Format("{0}:{1}", address, port); } bool isConnecting = this.chatPeer.Connect(address, "NameServer"); if (isConnecting) { this.State = ChatState.ConnectingToNameServer; } return isConnecting; }
public ChatClient(IChatClientListener listener, ConnectionProtocol protocol = ConnectionProtocol.Udp) { this.listener = listener; this.State = ChatState.Uninitialized; this.chatPeer = new ChatPeer(this, protocol); this.PublicChannels = new Dictionary<string, ChatChannel>(); this.PrivateChannels = new Dictionary<string, ChatChannel>(); }
public bool Connect(string address, ConnectionProtocol protocol, string appId, string appVersion, string userId, AuthenticationValues authValues) { if (!this.HasPeer) { this.chatPeer = new ChatPeer(this, protocol); } else { this.Disconnect(); if (this.chatPeer.UsedProtocol != protocol) { this.chatPeer = new ChatPeer(this, protocol); } } this.DisconnectedCause = ChatDisconnectCause.None; this.CustomAuthenticationValues = authValues; this.UserId = userId; this.AppId = appId; this.AppVersion = appVersion; this.didAuthenticate = false; this.msDeltaForServiceCalls = 100; // clean all channels this.PublicChannels.Clear(); this.PrivateChannels.Clear(); if (!address.Contains(":")) { int port = 0; ProtocolToNameServerPort.TryGetValue(protocol, out port); address = string.Format("{0}:{1}", address, port); } bool isConnecting = this.chatPeer.Connect(address, "NameServer"); if (isConnecting) { this.State = ChatState.ConnectingToNameServer; } return isConnecting; }
public bool Connect(ConnectionProtocol protocol, string appId, string appVersion, string userId, AuthenticationValues authValues) { #if UNITY_WEBGL if (protocol != ConnectionProtocol.WebSocket && protocol != ConnectionProtocol.WebSocketSecure) { UnityEngine.Debug.Log("WebGL only supports WebSocket protocol. Overriding ChatClient.Connect() 'protocol' parameter"); protocol = ConnectionProtocol.WebSocketSecure; } #endif if (!this.HasPeer) { this.chatPeer = new ChatPeer(this, protocol); } else { this.Disconnect(); if (this.chatPeer.UsedProtocol != protocol) { this.chatPeer = new ChatPeer(this, protocol); } } this.chatPeer.TimePingInterval = 3000; this.DisconnectedCause = ChatDisconnectCause.None; this.CustomAuthenticationValues = authValues; this.UserId = userId; this.AppId = appId; this.AppVersion = appVersion; this.didAuthenticate = false; this.msDeltaForServiceCalls = 100; // clean all channels this.PublicChannels.Clear(); this.PrivateChannels.Clear(); bool isConnecting = this.chatPeer.Connect(); if (isConnecting) { this.State = ChatState.ConnectingToNameServer; } return isConnecting; }