Task RandamServerRequest(ServerConnectSettings settings) { return(Task.Run(async() => { try { var start = DateTime.Now; using (var conn = await Connection.ConnectToServer(settings)) { while ((DateTime.Now - start) < TimeSpan.FromSeconds(1)) { await Task.Delay(100); var randam = System.Convert.ToBase64String(Random.GenBytes(1000)); conn.Server.Send(To(randam)); Message message; while (!conn.PollTryReadMessage(out message, TimeSpan.FromSeconds(1))) { ; } Assert.AreEqual(randam, To(message)); } }; } catch { } })); }
public void ConnectToServer(ServerConnectSettings connectSettings) { if (connectSettings.createRoomIfNoneAvailable) { RoomOptions roomOptions = new RoomOptions(); PhotonNetwork.JoinOrCreateRoom(connectSettings.roomName, roomOptions, new TypedLobby(connectSettings.roomName, LobbyType.Default)); } }
public async Task Connect(ServerConnectSettings settings, CancellationToken token = default) { Disconnect(); m_Cancellation?.Cancel(); m_Cancellation = new CancellationTokenSource(); token.Register(m_Cancellation.Cancel); m_Connection = await Connection.ConnectToServer(settings, m_Cancellation.Token); m_Cancellation = null; OnConnect?.Invoke(); Update(); }
public override async void ClientConnect(string address) { DisposeClient(); IPAddress[] addresses = Dns.GetHostAddresses(address); IPAddress ip = null; foreach (var tmp in addresses) { if (tmp.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { ip = tmp; } } ServerConnectSettings setting; if (!string.IsNullOrWhiteSpace(m_RsaXmlPath)) { var xml = Resources.Load <TextAsset>(m_RsaXmlPath); setting = ServerConnectSettings.FromXML(xml.text, new IPEndPoint(ip, m_Port)); } else { setting = new ServerConnectSettings { EndPoint = new IPEndPoint(ip, m_Port), }; } var task = m_ClientTask = Connection.ConnectToServer(setting); try { var conn = await task; if (task == m_ClientTask) { m_ClientConn = conn; OnClientConnected?.Invoke(); } else { conn.Dispose(); } } catch (Exception) { if (task == m_ClientTask) { OnClientDisconnected?.Invoke(); } } }
async void Connect() { try { var ep = new IPEndPoint(IPAddress.Loopback, Port); var settings = ServerConnectSettings.FromXML(Resources.Load <TextAsset>("public").text, ep); m_Client = await Connection.ConnectToServer(settings); if (m_Destroy) { m_Client.Dispose(); } } catch (Exception ex) { Debug.LogException(ex); } }
async void StartClient(SocketTask task) { try { IPAddress[] addresses = Dns.GetHostAddresses(m_ConnectAddress); IPAddress ip = null; foreach (var tmp in addresses) { if (tmp.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { ip = tmp; } } ServerConnectSettings setting; if (!string.IsNullOrWhiteSpace(m_RsaXmlPath)) { var xml = Resources.Load <TextAsset>(m_RsaXmlPath); setting = ServerConnectSettings.FromXML(xml.text, new IPEndPoint(ip, m_Port)); } else { setting = new ServerConnectSettings { EndPoint = new IPEndPoint(ip, m_Port), }; } m_ClientConn = await Connection.ConnectToServer(setting); Setup(m_ClientConn); task.Success = true; task.IsDone = true; } catch (Exception ex) { task.Success = false; task.TransportException = ex; task.IsDone = true; } }
public Task Connect(ServerConnectSettings settings) { return(Client.Connect(settings)); }
public Task Connect(string publicKey, string host, int port, CancellationToken token = default) { var settings = ServerConnectSettings.FromXML(publicKey, host, port); return(Connect(settings, token)); }
public Task Connect(string host, int port, CancellationToken token = default) { var settings = ServerConnectSettings.Create(host, port); return(Connect(settings, token)); }
internal ClientConnectionImpl(int id, UdpSocket socket, ServerConnectSettings settings, Encryptor encryptor, EncryptorGenerator encryptorGenerator) : base(socket, encryptorGenerator) { SelfId = id; m_UseP2P = settings.UseP2P; m_PeerManager.Add(new PeerEntry(id, 0, encryptor, settings.EndPoint)); }