従業員の入場を登録するために使用されるカードリーダーがあります。オフラインモードとオンラインモードで動作します
オフラインとは、すべてのデータ (たとえば 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;
}
}