解决方案 »

  1.   

    java中的socket可以传任何东西,只是你需要找到相应的封装流封装一下,比如你需要传int,可以用DataInputStream和DataOutputStream
      

  2.   

    那你就用0x0000的形式写你的16进制,最后都会被转换成二进制的,即使10进制的int也是如此,与什么进制无关。
      

  3.   

    1. SOCKET传输的单位一直都是二进制,没有十六进制、整型、字符串之分,通信双方需要根据协议进行相应的类型转换。
    2. 对于数值型,对应的二进制是大于一个字节的,又有大端、小端的区别,即高位字节在前还是在后。你说的串口只接收16进制数据
    一种情况是你理解有误,其实是对方是将二进制数据以16进制表达出来而已
    另一种情况是需要将数值转换为16进制字符串,比如 整数10,对应的十六进制是0x0A,那你可能需要发送“0A”这个字符串
    你给出的IPv4的地址,一种就是常见的4段式的字符串,还可以用int表示,也许串口段需要的是这个int值
      

  4.   

    额。。不行啊。一直都报java.net.SocketTimeoutException: Read timed out
    能说的详细些么。或者贴下发送的具体格式,我是菜鸟。还请多多指教。。
      

  5.   

    你的问题恐怕不仅仅是怎么传输数据,建议你先看看基本的java socket编程知识