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);
        }