void Start() { // setup menu nameField.onEndEdit.AddListener(SetName); submitName.onClick.AddListener(() => SetName(nameField.text)); ShowPanel("Connecting"); // setup networking net = new RelayClient(); net.OnConnected += ConnectedToServer; net.OnDisconnected += DisconnectedFromServer; net.OnMatchStarted += StartMatch; net.OnMatchEnded += EndMatch; net.OnGameDataReceived += ReceiveGameData; net.Connect(ip); //var map = new byte[32]; //for (int i = 0; i < map.Length; i++) //{ // map[i] = (byte)UnityEngine.Random.Range(3, 8); //} //StartMatch("my", 3, map); }
public async Task Connect(INetworkClient client) { await Initialize(); var transactionManager = new RelayTransactionManager(); var options = await client.ClientOptions; var remote = await Remote; var eventHandler = new NetworkEventHandler(this, client); var clientService = new RelayClient(eventHandler, transactionManager); var networkConnection = new NetworkConnection(this, clientService, eventHandler); // Try to connect transactionManager.SetEventLoop(true); client.NetworkConnection = networkConnection; await clientService.Connect(remote, options); // Save active connections _active.Add(new NetworkActiveService() { NetworkConnection = networkConnection, TransactionManager = transactionManager }); }
public async Task Run(string sendAddress, string sendToken) { try { var relayClient = new RelayClient(sendAddress, TokenProvider.CreateSharedAccessSignatureTokenProvider(sendToken)); var relayConnection = relayClient.Connect(); TTransport transport = new TStreamTransport(relayConnection, relayConnection); TProtocol protocol = new TBinaryProtocol(transport); Calculator.Client client = new Calculator.Client(protocol); transport.Open(); try { client.ping(); Console.WriteLine("ping()"); int sum = client.add(1, 1); Console.WriteLine("1+1={0}", sum); Work work = new Work(); work.Op = Operation.DIVIDE; work.Num1 = 1; work.Num2 = 0; try { int quotient = client.calculate(1, work); Console.WriteLine("Whoa we can divide by 0"); } catch (InvalidOperation io) { Console.WriteLine("Invalid operation: " + io.Why); } work.Op = Operation.SUBTRACT; work.Num1 = 15; work.Num2 = 10; try { int diff = client.calculate(1, work); Console.WriteLine("15-10={0}", diff); } catch (InvalidOperation io) { Console.WriteLine("Invalid operation: " + io.Why); } SharedStruct log = client.getStruct(1); Console.WriteLine("Check log: {0}", log.Value); } finally { transport.Close(); } } catch (TApplicationException x) { Console.WriteLine(x.StackTrace); } }