public async Task SendConnectPosition(string id, Vector3 tmp)
    {
        using (var call = client.ConnectPosition())
        {
            int chunks = 0;
            Console.WriteLine("Starting background task to receive messages");
            var readTask = Task.Run(async() =>
            {
                while (await call.ResponseStream.MoveNext())
                {
                    Console.WriteLine("SendConnectPosition: " + call.ResponseStream.Current.Users);
                    chunks++;
                }
            });


            Console.WriteLine("Starting to send messages");
            for (var i = 0; i < chunks; i++)
            {
                Console.WriteLine("Req: " + i);
                await call.RequestStream.WriteAsync(new ConnectPositionRequest { Id = id + i, X = tmp.x, Y = tmp.y, Z = tmp.z });
            }

            Console.WriteLine("Disconnecting");
            await call.RequestStream.CompleteAsync();

            await readTask;
        }
    }
        // BiDiretional
        static async Task SendConnectPosition(Multiplay.MultiplayClient client)
        {
            using (var call = client.ConnectPosition())
            {
                Console.WriteLine("Starting background task to receive messages");
                var readTask = Task.Run(async() =>
                {
                    while (await call.ResponseStream.MoveNext())
                    {
                        Console.WriteLine("Greeting: " + call.ResponseStream.Current.Users);
                        // "Greeting: Hello World" is written multiple times
                    }
                });

                Console.WriteLine("Starting to send messages");
                Console.WriteLine("Type a message to echo then press enter.");
                for (var i = 0; i < 50; i++)
                {
                    Console.WriteLine("Req: " + i);
                    // Thread.Sleep(599);
                    await call.RequestStream.WriteAsync(new ConnectPositionRequest { Id = "id" + i, X = 1f, Y = 2f, Z = 3f });
                }

                Console.WriteLine("Disconnecting");
                await call.RequestStream.CompleteAsync();

                await readTask;
            }
        }
 void Start()
 {
     // コンポーネントの取得
     this.userObjects = new Hashtable();
     controller       = GetComponent <CharacterController>();
     animCon          = GetComponent <Animator>();
     channel          = new Channel("127.0.0.1:57601", ChannelCredentials.Insecure);
     client           = new Multiplay.MultiplayClient(channel);
     call             = client.ConnectPosition();
     id = PlayerPrefs.GetString("userId");
 }
Example #4
0
    //private AsyncStreamingCall<SetPositionRequest, SetPositionResponse> call2;

    void Start()
    {
        channel = new Channel(PlayerPrefs.GetString("serverPort"), ChannelCredentials.Insecure);
        client  = new Multiplay.MultiplayClient(channel);
        call    = client.ConnectPosition();
    }