有关Socket传输16进制的数据问题!急!在线等.
问题描述:
现在已有一个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());
}
}
}
------解决方案--------------------你要看服务器端是怎么处理16进制的
它是按字符串来处理?还是按数值来处理?
------解决方案--------------------关注