ниже примерно то, как я обычно делаю, пытаясь установить соединение на моем сервере с моим slient-устройством:
IPEndPoint localEP = new IPEndPoint(IPAddress.Any, nConst3rdPartyPort);
the3rdPartyListener = new Socket(localEP.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
the3rdPartyListener.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
the3rdPartyListener.Bind(localEP);
the3rdPartyListener.Listen(100);
the3rdPartyListener.BeginAccept(new AsyncCallback(AcceptConnectBack), the3rdPartyListener);
Любое клиентское устройство может подключиться к моему серверу, если оно знает IP-адрес сервера и номер порта. Теперь я хочу выполнить фильтрацию клиентского устройства. Только определенное клиентское устройство может подключиться к моему серверу.
Можем ли мы вставить уникальный идентификатор клиенту, чтобы клиент только с этим уникальным идентификатором мог подключиться к моему серверу? Как мы можем гарантировать, что клиент именно тот, который нам нужен?
Это сделано из соображений безопасности, чтобы предотвратить подключение неавторизованного клиента к серверу.