任务:socket编程,服务端模拟温湿度采集器,实现与客户端的通信。
知识点:
socket编程(网络有实例,模仿实现)
modbus协议(仅用到ModbusRTU)
温湿度采集器
思路:
客户端写死数据,合并crc校验,发送到服务端。服务端截取校验位之前的数据通过crc校验与客户端发来的数据比较,如果相同,返回温湿度数据。
同样,写死数据,合并crc校验,发送到客户端。客户端截取校验位之前的数据通过crc校验与客户端发来的数据比较,如果相同,则计算并打印温湿度。
服务端
package hellosocket;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.Array;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Arrays;
/**
* 服务端
*/
public class Server {
public static void main(String[] args) throws Exception {
CRC crc= new CRC();
// 监听指定的端口
int port = 55533;
ServerSocket server = new ServerSocket(port);
// server将一直等待连接的到来
System.out.println("server开启...");
Socket socket = server.accept();
System.out.println("客户端:"+socket.getInetAddress().getLocalHost()+"已连接到服务器");
// 建立好连接后,从socket中获取输入流,并建立缓冲区进行读取
InputStream inputStream = socket.getInputStream();
byte[] bytes