日期:2014-05-20  浏览次数:20932 次

有关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进制的
它是按字符串来处理?还是按数值来处理?
------解决方案--------------------
关注