используйте сокеты для чтения устройства RFID из сети с помощью C - PullRequest
0 голосов
/ 13 ноября 2018

Я нашел RFID-считыватель с считывателем отпечатков пальцев, который хотел бы использовать. Я пытался использовать сокеты для прослушивания порта, но я не уверен, как я могу сделать это правильно. На устройстве нет меток, поэтому я не могу найти данные от производителя о том, как установить соединение. Устройства работают так, как я тестировал, с другим программным обеспечением, используемым для синхронизации, поэтому устройству теперь назначен IP-адрес, который я могу пропинговать. Я попробовал программу сервера сокетов для прослушивания порта, но я ничего не получаю, когда читаю метки RFID. Как я могу прочитать данные с устройства, когда оно подключено к сети, и сохранить данные?

#include  <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
main(){
   char server_message[256] = "You have reached the server";
   //create the server socket
   int server_socket;
   server_socket = socket(AF_INET, SOCK_STREAM, 0);

   //define the server address
   struct sockaddr_in server_address;
   server_address.sin_family = AF_INET;
   server_address.sin_port = htons(9002);
   server_address.sin_addr.s_addr = INADDR_ANY;

   //bind the socket to our specified IP and port
   bind(server_socket, (struct sockaddr *) &server_address,     sizeof(server_address));
   listen(server_socket, 5);
   int client_socket;
   client_socket = accept(server_socket,NULL,NULL);

   char server_response[256];
   recv(server_socket, &server_response, sizeof(server_response), 0);

   //print out server's response
   printf("The server sent the data: %s\n", server_response);



   //send the message
   send(client_socket, server_message, sizeof(server_message), 0);
   //close the socket
   close(server_socket);
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...