У меня есть такой код, в этом контексте HandleDisconnectEventCB будет срабатывать, когда клиент имеет какие-либо изменения без сохраненных данных и отсоединен (отсоединить сетевой кабель) от сервера, затем он установит 'clientWithLock = 0' и удалит из коллекции, что показано ниже кода. Но теперь проблема в том, что другие подключенные клиенты не могут вносить изменения, это показывает, что в clientWithLock есть некоторые данные, отличные от нуля, из-за того, что он покажет, что другой пользователь обновляет данные, пожалуйста, подождите.
private static int clientWithLock = 0;
static private void HandleDisconnectEventCB(SPD.SPD_serverLocationType loc,
string server, int clientId,
object passback)
{
// Remove lock if necessary
if (clientWithLock == clientId) clientWithLock = 0;
// Remove client from client list and end replicated display sessions
for (int i = 0; i < clients.Count; i++)
{
SPURTclient sc = (SPURTclient)clients[i];
if (sc.ClientId == clientId)
{
.
.
clients.RemoveAt(i);
break;