问题描述:
现在已有一个Socket服务器端(已定死).我现在要写一个Socket客户端.在客户端我要传输16进制的数据给服务器.注:不能在服务器端转换.说白了,服务器端什么事都不做.你客户端传个什么样的16进制.服务器端就做出什么样的操作.
下面是自己写的一些代码,但得不到我想要的结果.请达人帮忙!
import java.net.*;
import java.io.*;public class TestServer {
public static void main(String args[]) {
try {
// 创建通讯并且和主机Rock连接
Socket cSocket = new Socket("192.168.101.10", 8000);
// 打开这个Socket的输入/输出流
System.out.println("客户端已启动!"); // 创建通讯并且和主机Rock连接 // 定义协议,转换数据为16进制 byte[] buf = { (byte) 0xaa, (byte) 0xaa, (byte) 0x01, (byte) 0xd0,
(byte) 0x04, (byte) 0x00, (byte) 0xe4, (byte) 0xdf,
(byte) 0xbb };
DataInputStream is = new DataInputStream(new ByteArrayInputStream(
buf));
OutputStream os = cSocket.getOutputStream();
os.write(is.read());
os.flush();
os.close();
is.close();
cSocket.close();
} catch (Exception e) {
System.out.println("Exception :" + e.getMessage());
}
}
}