// 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; } }
static void Main(string[] args) { Channel channel = new Channel("localhost:57601", ChannelCredentials.Insecure); var client = new Multiplay.MultiplayClient(channel); // var s1 = SendSetPosition(client); // Thread.Sleep(500); // var s2 = SendSetPosition(client); //Task.WaitAll(s1,s2); // resp(s1); // resp(s2); // var resp2 = SendConnectPosition(client); // Console.WriteLine("Resp2:" + resp2); var resp3 = GetUsers(client); Console.WriteLine("Resp3:" + resp3); Console.WriteLine("Before:" + channel); channel.ShutdownAsync().Wait(); Console.WriteLine("After:" + channel); }
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"); }
// Client Stream static async Task SendSetPosition(Multiplay.MultiplayClient client) { using (var call = client.SetPosition()) { Console.WriteLine("Req: "); await call.RequestStream.WriteAsync(new SetPositionRequest { Id = "TEST", X = 1f, Y = 2f, Z = 3f }); await call.RequestStream.CompleteAsync(); var response = await call; Console.WriteLine("After Response : " + response.Id + "-" + response.Status); } }
// Server Stream static async Task GetUsers(Multiplay.MultiplayClient client) { var req = new GetUsersRequest { RoomId = "XXXX" }; using (var call = client.GetUsers(req)) { while (await call.ResponseStream.MoveNext()) { Console.WriteLine("Greeting: " + call.ResponseStream.Current.Users); } } }
public ClientMain(string hostPort) { channel = new Channel(hostPort, ChannelCredentials.Insecure); client = new Multiplay.MultiplayClient(channel); }
//private AsyncStreamingCall<SetPositionRequest, SetPositionResponse> call2; void Start() { channel = new Channel(PlayerPrefs.GetString("serverPort"), ChannelCredentials.Insecure); client = new Multiplay.MultiplayClient(channel); call = client.ConnectPosition(); }