代码: s = new Socket (host, port);
InputStreamReader isr;
isr = new InputStreamReader (s.getInputStream ()); br = new BufferedReader (isr);

pw = new PrintWriter (s.getOutputStream (), true);
pw.println();??????? \\我想发送两个十六进制的字节,如:A4 和 A5请问该怎么发?我刚做Socket ,这个问题烦了我好多天了。请大家多多指教。谢谢!!!

解决方案 »

  1.   

    或者应该这样问:如何发送一个ASCII码大于127的unicode字符?
      

  2.   

    char ch=0xa4a5;
    pw.println(ch);
      

  3.   

    import java.io.*;
    import java.net.*;
    public class client {
        public static void main(String[] args){
      
          String host="192.168.7.134";
          int port=23456;
     int n1=0x00a4;
    int n12=0x00a5;
         try{        Socket soc=new Socket(host,port);
            DataOutputStream os=new DataOutputStream(soc.getOutputStream());
            DataInputStream is=new DataInputStream(soc.getInputStream()); 
            os.writeint(n1);  
            os.writeint(n2);            intr=is.readint();         System.out.println("r="+r);   
            soc.close();
          }
          catch(UnknownHostException e){
            System.err.println("Unknown host: "+host);
          }
          catch(IOException e){
            System.err.println("IO error: "+e);
          }
        }
      }
      

  4.   

    谢谢wxyq2000(wxyq)。上面的问题已经解决了,
    但现在出现一个新的问题:我在用os.writeint(n1);往端口写信息的时候,发现程序竟然把n1拆成两个数据包发送出去,第一个数据包的字节为1,请问是什么回事。万分感谢!!
      

  5.   

    int n1=0x00a4;这样定义是两个字节的啊
    00一个
    a4一个
      

  6.   

    wthwebbe(honghong) 举个例子!
    或者:http://community.csdn.net/Expert/topic/4246/4246380.xml?temp=.3593103