Member 12749751 Ответов: 0

Как мы можем извлекать данные из устройств(биометрические устройства)


У меня есть одно биометрическое устройство для посещения, и это устройство является push-устройством,поэтому я хочу получить данные из порта сервера, куда это устройство передает данные, как я могу это сделать.В приведенном ниже коде упоминания страница продолжает загружаться и выдает ошибку как
"Ошибка: обычно разрешается только одно использование каждого адреса сокета (протокол/сетевой адрес/порт)".

Что я уже пробовал:

private void ReadServerData()
{
  TcpClient tcpClient = new TcpClient();
  TcpListener tcpListener = new TcpListener(IPAddress.Any,7005);
  tcpListener.Start();
  Socket mySocket = tcpListener.AcceptSocket();
  NetworkStream stream = new NetworkStream(mySocket);
  StreamReader reader;
  StreamWriter writer;
  string received = "";
  while (true)
  {
    tcpClient = tcpListener.AcceptTcpClient();

    stream = tcpClient.GetStream();
    reader = new StreamReader(stream);
    writer = new StreamWriter(stream);
    writer.NewLine = "\r\n";
    writer.AutoFlush = true;
    byte[] bytes = new byte[tcpClient.SendBufferSize];
    int recv = 0;
    while (true)
    {
      recv = stream.Read(bytes, 0, tcpClient.SendBufferSize);
      received += System.Text.Encoding.ASCII.GetString(bytes, 0, recv);

      if (received.EndsWith("\n\n"))
      {
        break;
      }
    }
  }
}

Michael_Davies

Эта ошибка обычно означает, что какое-то другое приложение уже подключено к порту для прослушивания, закройте это приложение.

Чтобы узнать, какое приложение, откройте командную строку cmd и введите netstat-an

Member 12749751

после выполнения команды netstat-an вышеупомянутого порта нет и при отладке, когда речь заходит о cpListener.Строка AcceptTcpClient () страница продолжает загружаться

Michael_Davies

Вы вызываете ReadServerData более одного раза?

Вы подключаетесь к порту, выполняете свой цикл и прерываетесь на \n\n, но не отключаете прослушиватель, что означает, что если вы выполните его снова, он попытается подключить новый прослушиватель.

Member 12749751

Сэр, на самом деле я не использую данные сервера чтения,этот код я взял откуда-то еще ,у меня есть одно биометрическое устройство, подключенное к моей локальной сети, и я хочу получить данные с этой машины, так как же я могу это сделать??Пожалуйста, помогите мне с этим

Michael_Davies

Итак, у вас есть приложение, которое выдает ошибку, и вы показываете код, который имеет отношение к этой ошибке, но это не код, и вы его не используете, люди могут помочь только с вопросом, который вы задаете, и кодом, который вы показываете, иначе вы просто тратите время других людей.

Member 12749751

СЭР, по ошибке я написал, что этого метода нет в моем коде..Он есть в моем коде, но он не выполняется должным образом..С помощью этого метода чтения данных сервера я хочу получить данные с сервера

Michael_Davies

Поэтому я снова спрашиваю, вызываете ли вы ReadServerData более одного раза?

Member 12749751

Нет, сэр,я звоню только один раз.

0 Ответов