-4

従業員の入場を登録するために使用されるカードリーダーがあります。オフラインモードとオンラインモードで動作します

オフラインとは、すべてのデータ (たとえば 1 か月間) を保存し、telnet 経由でコンピューターに接続した後、管理者が「読み取り」コマンドを送信し、リーダーが 1 か月間に保存されたすべてのデータを送信することを意味します。

オンライン モードでは、リーダーは telnet 経由でコンピューターに接続され、誰かがカードをリーダーに見せるたびに、リーダーはデータを送信し、アプリケーションは即座に結果を表示します。

どうすればこれを理解できますか?非同期ソケットも使用しましたが、良い結果は得られませんでした。

どんな助けでも大歓迎です。

private void button3_Click(object sender, EventArgs e)
{
        string ip = Convert.ToString(IP_textBox.Text);
        TcpClient telnet = new TcpClient();
        telnet.Connect("172.16.0.133", 5010);

        //sending "read" to Device
        //string data = "read";

        //byte[] recieveData = new byte [32768];
        NetworkStream readStream = telnet.GetStream();
        if (readStream.CanWrite)
        {
            byte[] readData = System.Text.Encoding.ASCII.GetBytes("read");
            readStream.Write(readData, 0, readData.Length);
        }
        else
        {
            telnet.Close();
            readStream.Close();
            return;
        }
        if (readStream.CanRead)
        {
            byte[] recieveData = new byte[telnet.ReceiveBufferSize];


            readStream.Read(recieveData, 0, (int)telnet.ReceiveBufferSize);
            string out_string = Encoding.UTF8.GetString(recieveData);
            // System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
            //string out_string = enc.GetString(recieveData, 0, recieveData.Length);
            MessageBox.Show("Im here");
        }
        else
        {
            telnet.Close();
            readStream.Close();
            return;
        }
}
4

1 に答える 1