私は、POSレシートプリンタにコマンドを送信し、コマンドフォーマットを正しく取得するためのいくつかの問題を解決するソリューションを開発中です。 Iveはデバイスにソケットを開いていて、正しく動作していません。不正なコマンドが出力されるからです。このコマンドでSPECが要求するものは、次のものを送信することです。Swift TCPソケット上の16進数データを送信
1B 07または10進数27 7. ESC_KEY BELはASCIIで表示されます。
MSComm1.Output = CHR $(& H1B)&のChr $(& H07)
私がしようとしてきた何:
//ソケット仕様は示して唯一の例では、.NET用です以前はCFStreamCreatePairWithSocketToHostを使用して開いています。
var cmd = "27 07"
if let dataString = "\(cmd)\r".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false), let oStream = self.outputStream {
self.outputData.append(dataString)
if oStream.hasSpaceAvailable {
oStream.write(UnsafePointer((self.outputData.first! as NSData).bytes), maxLength: self.outputData.first!length)
}
}
データが届いていますが、メッセージのフォーマットが間違っていると思います。どんな助けもありがとう。
プリンタに送信するのは、バイトシーケンス0x50、0x55、0x32、0x48、0x55、0x13です。あなたのプリンタはバイトシーケンスを待っています0x1b、0x07 – user3441734