Как мы можем извлекать данные из устройств(биометрические устройства)
У меня есть одно биометрическое устройство для посещения, и это устройство является 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
Нет, сэр,я звоню только один раз.