如何通过Winform程序,来读取多台RFID设备呢?Winform程序作为服务端程序,多台RFID设备通过网络将数据传递给后台,请问如何在服务端来不间断的获取多台设备的数据呢?后台程序还需要对获取到的数据进行验证是否合法
用winform程序作为宿主部署一套webapi?或者单独部署一套api?
Winfrom作为服务端程序,不停的去读取多台硬件设备的数据,多台硬件设备是通过无线网跟后台程序进行数据传输
@gyangjing: 服务器主动读取数据还是客户端主动发送数据?
@会长: 服务端主动读取
我觉得用Socket就可以了吧,服务端Socket一直开启监听后每当有新链接进来就开始与他通信,在接收的数据里面解析出相应的设备地址,然后根据设备地址将数据存储下来或者做一些其他处理,在解析数据的进行前验证下数据的合法性。
但是目前是根据无线网跟硬件设备进行通信,这样要怎么样试试监听呢?
@gyangjing: 无线的话原理一样的,你可以写一个测试小demo看看,创建个服务端socket,和你的硬件连下试试,大概内容就是创建socket、绑定、监听、建立连接、通讯:
//实例化一个Socket对象,确定网络类型、Socket类型、协议类型
100 Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
101
102 IPEndPoint IEP = new IPEndPoint(IPAddress.Pars("127.0.0.1"), 10010);
103 //绑定ip和端口
104 socket.Bind(IEP);
105 //开启监听
106 socket.Listen(10);
107
108 richTextBox1.Invoke(new Action(() => { richTextBox1.AppendText("开始监听" + "\r\n"); }));
109
110 Thread thread = new Thread(new ParameterizedThreadStart(StartServer));
111 thread.IsBackground = true;
112 thread.Start(socket);
@BoiledYakult:服务端主动去读取多台设备的值
@gyangjing: 一样的,不管谁发命令还是读命令,网口通信的话,进行所有操作之前肯定是得建立连接,连接建立了,后面发什么命令或者是读取不就都一样了嘛?
@BoiledYakult: 非常有道理,我来试试,谢谢大神!!!