现在我有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)
{
}
});
我不知道这是多么的结合; / 另一个问题是,如何将网格发送给客户端来比较价值。
答案 0 :(得分: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个客户端。对于其他数量的客户,这还不行。