要发送向服务器发送十六字节的数据可以采用以下的方式:
1.数据类型是byte型:
private byte[] msg = new byte[2];
2.给数据赋值:
msg[0] = (byte) 0xaa;
1.数据类型是byte型:
private byte[] msg = new byte[2];
2.给数据赋值:
msg[0] = (byte) 0xaa;
msg[1] = (byte) 0xdd;
3.在socket中使用write的方式:
OutputStream socketWriter = socket.getOutputStream();
socketWriter.write(msg);
socketWriter.flush();
Socket编程:
final Thread socketthread = new Thread(new Runnable() { @Override public void run() { Socket socket = null; //创建socket try { socket = new Socket("192.168.1.1", 8000);//ip+端口号 System.out.println("socket连接成功"); //向服务器端发送消息 OutputStream socketWriter = socket.getOutputStream(); System.out.println("开始发送"); socketWriter.write(msg); socketWriter.flush(); System.out.println("发送完毕,开始接收信息"); //接收来自服务器端的消息 InputStream socketReader = socket.getInputStream(); byte strRxBuf[] = new byte[6]; int len = socketReader.read(strRxBuf, 0, 6); if (len != 0) { System.out.println("发送成功"); isSuccessful = true; } else { System.out.println("没有收到消息"); isSuccessful = false; } //关闭流 socketWriter.close(); socketReader.close(); //关闭Socket socket.close(); } catch (IOException e) { e.printStackTrace(); } } }); socketthread.start();
在连接正常的情况下,服务器收到消息后会立即返回一些数据。如果能收到这些数据就表示服务器确实收到了数据。