private void DataReceiveCallback(String data) { Dispatcher.Invoke((Action)(() => { if (data.IndexOf("OK.") > -1) { if (play_page == null) { string a = data.Replace("OK.", ""); PlayerNumber = int.Parse(a); //サーバから送られてきたplayernumberをプレイページに送る。 // Application.Propertiesに設定しておく。 PN number = new PN() { playernumber = PlayerNumber }; Application.Current.Properties["Number"] = number; // 次に表示するページ(プレイ画面)を生成、以後使いまわし play_page = new Play_page(); play_page.clients = clients; } // プレイページへ移動 this.NavigationService.Navigate(play_page); } })); }
private async void Button_Click(object sender, RoutedEventArgs e) { var serverSocket = AsynchronousSocketListener.GetInstance(); // サーバーが実行中の場合 if (serverSocket.IsEnabled) { // スレッドを停止 await serverSocket.StopListeningThread(); } // サーバーの起動 serverSocket.StartListeningThread(); // 自分のPC名を取得 string myPC = Environment.MachineName; clients.DataReceiveCallback = Non; clients.Connect(myPC, 11000); clients.Receive(); clients.Send("CPU<EOF>"); PN number = new PN() { playernumber = PlayerNumber }; Application.Current.Properties["Number"] = number; play_page = new Play_page(); play_page.clients = clients; // プレイページへ移動 this.NavigationService.Navigate(play_page); }