WCF 服务器/客户端连接的客户端检查服务器的值
本文关键字:客户端 服务器 检查 连接 WCF | 更新日期: 2023-09-27 18:33:17
现在我在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)
{
}
});
我不知道这如何连接;/另一个问题是,如何将网格发送到客户端以比较价值。
我解决了这个问题:)它几乎正常工作。
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 个客户端。对于其他数量的客户端,这尚不起作用。