0

ここで、WCFサーバー/クライアントに別の問題があります。

私には方法があります:

bool spr_wiersz(int wiersz, int kolumna) //check_row(int row, int column)
        {
            for (int i = 0; i < 9; i++)
            {
                if (i != kolumna)
                {
                    //if(grid(row,i)==grid[row,column]
                    if (tablica[wiersz, i] == tablica[wiersz, kolumna]) 
                        return false;
                }
            }
            return true;
        }

そして、私はすべての値をクライアントに送信したいと思います。クライアントはそれをチェックして、サーバーにtrueまたはfalseを返します。

ex.
client 1 compare for i=0
client 2 compare for i=1
client 3 compare for i=2
client 1 compare for i=3
client 2 compare for i=4
......

私が使用するすべてのクライアントに何かを送信するには:

subscribers.ForEach(delegate(ImessageCallback callback)
            {
                if (((ICommunicationObject)callback).State == CommunicationState.Opened)
                {


                }
            });

私はこれをどのように接続するのかわかりません;/そして別の問題は、値を比較するためにグリッドをクライアントに送信する方法です。

4

1 に答える 1

0

私は問題を解決します:)それはほとんど正しく動作します。

bool spr_wiersz(int wiersz, int kolumna) 
        {
            wys_tab();
            Console.WriteLine("wiersz: {0}, kolumna: {1}", wiersz, kolumna);
            int i_wiersz=0;
            bool[] result = new bool[9];
            while (i_wiersz < 9)
            {
                subscribers.ForEach(delegate(ImessageCallback callback)
                {
                    if (((ICommunicationObject)callback).State == CommunicationState.Opened)
                    {
                        Console.WriteLine("wiersz: {0}, kolumna: {1}, i: {2}", wiersz, kolumna, i_wiersz);
                        result[i_wiersz] = callback.spr_wiersz(wiersz, kolumna, i_wiersz);
                        i_wiersz++;
                    }
                });
                for (int j = 0; j < i_wiersz; j++)
                {
                    if (result[j] == false)
                    {
                        return false;

                    }
                }

            }
            return true;
        }

これは、1、3、または9のクライアントにのみ有効です。他の数のクライアントの場合、これはまだ機能しません。

于 2012-05-05T19:36:48.277 に答える