public void Connect(bool session_reliability) { message_number_ = 0; if (session_ == null) { session_ = FunapiSession.Create(server_ip_, session_reliability); session_.SessionEventCallback += onSessionEvent; session_.TransportEventCallback += onTransportEvent; session_.TransportErrorCallback += onTransportError; session_.ReceivedMessageCallback += onReceivedMessage; for (int i = 0; i < 3; ++i) { TransportOption option = new TransportOption(); if (protocols[i] == TransportProtocol.kTcp) { TcpTransportOption tcp_option = new TcpTransportOption(); tcp_option.EnablePing = true; tcp_option.PingIntervalSeconds = 1; tcp_option.PingTimeoutSeconds = 3; option = tcp_option; } else { option = new TransportOption(); } option.ConnectionTimeout = 3f; //if (protocols[i] == TransportProtocol.kTcp) // option.Encryption = EncryptionType.kIFunEngine1Encryption; //else // option.Encryption = EncryptionType.kIFunEngine2Encryption; ushort port = getPort(protocols[i], encodings[i]); session_.Connect(protocols[i], encodings[i], port, option); } } else { for (int i = 0; i < 3; ++i) { session_.Connect(protocols[i]); } } }
public void OnButtonConnect() { if (session == null || address_changed) { createSession(); } TransportOption option = null; if (info.protocol == TransportProtocol.kTcp) { TcpTransportOption tcp = new TcpTransportOption(); // If this option is set to true, // it will automatically try to reconnect within the Transport when it is disconnected. tcp.AutoReconnect = false; option = tcp; } session.Connect(info.protocol, info.encoding, info.port, option); }
public void StartClient(string server_ip, ushort port, string user_id) { user_id_ = user_id; GameObject panel = GameObject.Find("MainPanel"); if (panel != null) { mainMenu = panel.GetComponent <LobbyMainMenu>(); } session_ = FunapiSession.Create(server_ip); session_.TransportEventCallback += onTransportEvent; session_.ReceivedMessageCallback += onReceived; TcpTransportOption option = new TcpTransportOption(); option.ConnectionTimeout = 10f; session_.Connect(TransportProtocol.kTcp, FunEncoding.kJson, port, option); }
TransportOption makeOption(TransportProtocol protocol) { TransportOption option = null; if (protocol == TransportProtocol.kTcp) { TcpTransportOption tcp_option = new TcpTransportOption(); tcp_option.Encryption = tcpEncryption; tcp_option.AutoReconnect = autoReconnect; tcp_option.DisableNagle = disableNagle; if (usePing) { tcp_option.SetPing(1, 20, true); } option = tcp_option; } else if (protocol == TransportProtocol.kUdp) { option = new TransportOption(); option.Encryption = udpEncryption; } else if (protocol == TransportProtocol.kHttp) { HttpTransportOption http_option = new HttpTransportOption(); http_option.Encryption = httpEncryption; http_option.UseWWW = useWWW; option = http_option; } option.ConnectionTimeout = 10f; option.SequenceValidation = sequenceValidation; return(option); }