Bir yuvaya bayt olarak yazmaya çalıştığım bir hex değerleri dizim var.Onaltılık dize yuvaya onaltılık yazdı java
String confDeliv = "\\x7E\\x01\\x00\\x20\\x37\\x02\\x03\\xF2\\xD5";
benim sorunu
byte [] Delivery_Conf = {(byte)0x7E, (byte)0x01, (byte)0x00, (byte)0x20,
(byte)0x37, (byte)0x02, (byte)0x03, (byte)0xF2, (byte)0xD5};
denemek ve çözmek için bunu denedi Ama soketine yazmaya başarılı henüz. Herhangi bir hata alamıyorum ama cihaza gönderdiğimde bunu yapmak için ihtiyacım olan şeyi yapmamak, bunu yapmanın iki farklı yolunu denedim.
1 deneyin: kullanılan
DataOutputStream dOut = new DataOutputStream(sock.getOutputStream()); //69.171.154.64
for (int i = 0; i < Delivery_Conf.length-1; i++) {
dOut.writeByte(Delivery_Conf[i]);
}
dOut.flush();
Bu yöntem, zaman ancak bir bayt dizisi değerleri.
2 deneyin:
DataOutputStream dOut = new DataOutputStream(sock.getOutputStream());
dOut.writeBytes(confDeliv);
dOut.flush();
Bu ipi ama hala hiçbir şans olarak göndermeden çalıştığında kullandığım yöntemdir. Ben bayt dizesini kullanarak python kullandığımda aygıt çalışabilirim. Örn.,
örn.
confDel = b"\x7E\x01\x00\x20\x37\x02\x03\xF2\xD5"
Bence java, gönderdiğimde bir şey değiştiriyor ve bence bu yüzden java ile çalışabiliyorum. Aradan baktım ama sorunumda bana yardımcı olacak bir şey bulamıyorum.
Aygıt tarafında alınan dize ile neyin yanlış olduğunu tam olarak açıklayabilir misiniz? – uniknow
Bunu öğrenmeye çalıştığım şey. @uniknow – cunniemm
Baytları gönderdiğimde, '\ x7E' olması gerekiyor geriye doğru eğik olmalı ya da işe yaramazsa, bunu koduma nasıl ekleyebilirim? Bu işi yapmak için? – cunniemm