2013-06-30 99 views
1

将数据发送到RS232/USB适配器我想给这个十六进制命令块。我有以下代码:通过套接字在Java中

DataOutputStream outToServer = new DataOutputStream(this.clientsocket.getOutputStream()); 
String command5 = "\u001b\u0040\u0026\u240D"; 
outToServer.writeUTF(command5); 
outToServer.flush(); 

正确配置了套接字和serproxy。任何人有想法?

+0

你是如何初始化** clientsocket **的? – Machado

回答

0

writeUTF函数在其字符之前写入字符串的长度。你可以使用的是纯文字:

byte[] bytes = {0x1B, 0x40, ...}; 
out.write(bytes) 
+0

我得到一个错误与0xa6(类型不匹配:不能从int转换为字节)。我不必使用\ u00语法吗? –

+0

0xA6必须转换为字节'(byte)0xA6',因为它超出范围(原因是在Java字节中有符号)。 'uABCD'只是让你能够在源代码中编写Unicode字符而不用担心编译器搞乱了它;现在没用。 – Joni

+0

谢谢你的回复。代码似乎现在工作正常。我用SerialMon检查了输出。我的这个rs232控制器的问题似乎有所不同。它不回答,最好什么都不做。我需要用直接连接的Arduino进行检查。谢谢 –