From ab6c215f34d45221c960e20b64704b3624be1f83 Mon Sep 17 00:00:00 2001 From: MaximZaitsev Date: Thu, 14 Jul 2016 15:59:55 +0300 Subject: [PATCH] receipt server answer --- .../src/main/java/client/ClientHandler.kt | 17 +++++++---------- .../src/main/java/client/ClientHandler.kt | 13 +++++++++++-- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/desktop_clients/CarCtl/src/main/java/client/ClientHandler.kt b/desktop_clients/CarCtl/src/main/java/client/ClientHandler.kt index 4d015b2e63a..f9c5dd9e516 100644 --- a/desktop_clients/CarCtl/src/main/java/client/ClientHandler.kt +++ b/desktop_clients/CarCtl/src/main/java/client/ClientHandler.kt @@ -2,6 +2,7 @@ package client import io.netty.channel.ChannelHandlerContext import io.netty.channel.SimpleChannelInboundHandler +import io.netty.handler.codec.http.DefaultHttpContent import io.netty.handler.codec.http.HttpContent /** @@ -19,15 +20,11 @@ class ClientHandler : SimpleChannelInboundHandler { override fun channelReadComplete(ctx: ChannelHandlerContext) { - var resultCode: Int = 0 -// try { -// val uploadResult: Carkot.UploadResult = Carkot.UploadResult.parseFrom(contentBytes) -// resultCode = uploadResult.resultCode -// } catch (e: InvalidProtocolBufferException) { -// e.printStackTrace() -// -// resultCode = 2 -// } + if (contentBytes.size == 0) { + ctx.close() + return + } + val resultCode: Int = contentBytes[0].toInt() synchronized(requestResult, { requestResult.code = resultCode }) @@ -35,7 +32,7 @@ class ClientHandler : SimpleChannelInboundHandler { } override fun channelRead0(ctx: ChannelHandlerContext?, msg: Any?) { - if (msg is HttpContent) { + if (msg is DefaultHttpContent) { val contentsBytes = msg.content(); contentBytes = ByteArray(contentsBytes.capacity()) contentsBytes.readBytes(contentBytes) diff --git a/desktop_clients/stFlashClient/src/main/java/client/ClientHandler.kt b/desktop_clients/stFlashClient/src/main/java/client/ClientHandler.kt index 2892b2e5126..dd06c682657 100644 --- a/desktop_clients/stFlashClient/src/main/java/client/ClientHandler.kt +++ b/desktop_clients/stFlashClient/src/main/java/client/ClientHandler.kt @@ -14,6 +14,8 @@ class ClientHandler : SimpleChannelInboundHandler { object requestResult { var code: Int = -1 + var stdOut: String = "" + var stdErr: String = "" } constructor() @@ -22,17 +24,24 @@ class ClientHandler : SimpleChannelInboundHandler { override fun channelReadComplete(ctx: ChannelHandlerContext) { - var resultCode = 0 + val resultCode:Int + val resultStdOut:String + val resultStdErr:String try { val uploadResult: Carkot.UploadResult = Carkot.UploadResult.parseFrom(contentBytes) resultCode = uploadResult.resultCode + resultStdOut = uploadResult.stdOut + resultStdErr = uploadResult.stdErr } catch (e: InvalidProtocolBufferException) { e.printStackTrace() - + resultStdErr = "" + resultStdOut = "" resultCode = 2 } synchronized(requestResult, { requestResult.code = resultCode + requestResult.stdErr = resultStdErr + requestResult.stdOut = resultStdOut }) ctx.close() }