TCP-сервер не получает данные от RFID-считывателя

#c# #tcp

#c# #tcp

Вопрос:

Я пытаюсь подключиться к своему RFID-считывателю через ethernet-соединение. Я подключил RFID-считыватель к своему маршрутизатору, а затем подключил свой рабочий стол к тому же маршрутизатору через ethernet-соединение.

Схема подключения

Каждый раз, когда RFID-считыватель обнаруживает RFID-метку, идентификатор метки будет отправляться на мой компьютер. Я написал несколько очень простых кодов TCP-сервера / клиента для получения этих данных. ПК — это сервер, а RFID-считыватель — клиент.

 namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
         public Form1()
         {
           InitializeComponent();
         }

         SimpleTcpServer server;

         private void Form1_Load(object sender, EventArgs e)
         {
            server = new SimpleTcpServer();
            server.Delimiter = 0x13;
            server.StringEncoder = Encoding.UTF8;
            server.DataReceived  = Server_DataReceived;
         }

         private void Server_DataReceived(object sender, SimpleTCP.Message e)
         {
            txtStatus.Invoke((MethodInvoker)delegate()
            {
                txtStatus.Text  = e.MessageString;
                e.ReplyLine(string.Format("RFID: {0}", e.MessageString));
            });
         }

         private void buttonStart_Click(object sender, EventArgs e)
         {
            System.Net.IPAddress ip = System.Net.IPAddress.Parse("192.168.5.10");
            server.Start(ip, Convert.ToInt32("6910"));
         }
   }
}
 

Способ настройки RFID для отправки данных метки на ПК через Ethernet — это использование макроса. Это показано ниже. Итак, наиболее важной частью является notifyAddress, который имеет форму hostname:port.

 AutoModeReset
persisttime= 1
AntennaSequence = 0 
AutoAction = Acquire
AutoStartTrigger = 0,0
AutoStopTimer = 0
AutoTrueOutput = 1
AutoTruePause = 1000
TagListCustomFormat = %k 
NotifyAddress = 192.168.5.10:6910
NotifyFormat = Custom
NotifyHeader = Off
NotifyTrigger = True
NotifyMode = On
AutoMode = On
 

IP-адрес компьютера /сервера — 192.168.5.10 с номером порта 6910. Я создал исключение в своем брандмауэре для этого порта. Однако я по-прежнему не получаю никаких данных от RFID-считывателя. Кто-нибудь может помочь?

Комментарии:

1. Вы используете чужой считыватель?

2. @MarioV да, я

3. Я вижу, что вы используете протокол Alien на стороне считывателя, мне пришлось бы дважды проверить, не пропущен ли у вас параметр, так что, возможно, именно поэтому считыватель не отправляет данные, но мне просто интересно, почему вы не используете Alien SDK C #. Net для разработки серверного клиента, его очень легко реализовать, у него есть хорошая документация, и таким образом вы не изобретаете велосипед. У вас есть Alien SDK?

4. @MarioV я делаю, но я не знаю, как его точно использовать. Есть ли какие-либо примеры или информация, которые могут помочь мне настроить это пошагово?

5. существует очень хорошая документация, к сожалению, zip-файл для последних C#.NET SDK не поставляется с ним, но попробуйте загрузить версию 2.3.0, эта версия поставляется с документацией и примерами, документация и примеры хороши для последней версии, используйте ее для общения с читателем, она подойдетваше кодирование намного проще.