ex

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Revision:
49:b9eb462f36a9
Parent:
48:c7ee67edcf1d
Child:
50:9ecaa144d1f3
--- a/dcs-sdk-java-master/app/src/main/java/com/baidu/duer/dcs/framework/DcsClient.java	Tue Jul 18 16:56:22 2017 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
- * Copyright (c) 2017 Baidu, Inc. All Rights Reserved.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.baidu.duer.dcs.framework;
-
-import com.baidu.duer.dcs.framework.dispatcher.AudioData;
-import com.baidu.duer.dcs.framework.dispatcher.MultipartParser;
-import com.baidu.duer.dcs.framework.heartbeat.HeartBeat;
-import com.baidu.duer.dcs.framework.message.DcsRequestBody;
-import com.baidu.duer.dcs.framework.message.DcsResponseBody;
-import com.baidu.duer.dcs.framework.message.DcsStreamRequestBody;
-import com.baidu.duer.dcs.http.HttpConfig;
-import com.baidu.duer.dcs.http.HttpRequestInterface;
-import com.baidu.duer.dcs.http.OkHttpRequestImpl;
-import com.baidu.duer.dcs.http.callback.ResponseCallback;
-import com.baidu.duer.dcs.util.LogUtil;
-
-import java.io.IOException;
-
-import okhttp3.Call;
-import okhttp3.Response;
-
-/**
- * 和服务器端保持长连接、发送events和接收directives和维持心跳
- * <p>
- * Created by wuruisheng on 2017/6/1.
- */
-public class DcsClient {
-    public static final String TAG = DcsClient.class.getSimpleName();
-    private final DcsResponseDispatcher dcsResponseDispatcher;
-    private final HttpRequestInterface httpRequestImp;
-    private final HeartBeat heartBeat;
-    private IDcsClientListener dcsClientListener;
-
-    public DcsClient(DcsResponseDispatcher dcsResponseDispatcher, IDcsClientListener dcsClientListener) {
-        this.dcsResponseDispatcher = dcsResponseDispatcher;
-        this.dcsClientListener = dcsClientListener;
-        httpRequestImp = new OkHttpRequestImpl();
-        heartBeat = new HeartBeat(httpRequestImp);
-        heartBeat.setHeartbeatListener(new HeartBeat.IHeartbeatListener() {
-            @Override
-            public void onStartConnect() {
-                startConnect();
-            }
-        });
-    }
-
-    public void release() {
-        heartBeat.release();
-        httpRequestImp.cancelRequest(HttpConfig.HTTP_DIRECTIVES_TAG);
-        httpRequestImp.cancelRequest(HttpConfig.HTTP_EVENT_TAG);
-    }
-
-    /**
-     * 建立连接
-     */
-    public void startConnect() {
-        httpRequestImp.cancelRequest(HttpConfig.HTTP_DIRECTIVES_TAG);
-        getDirectives(new IResponseListener() {
-            @Override
-            public void onSucceed(int statusCode) {
-                LogUtil.d(TAG, "getDirectives onSucceed");
-                fireOnConnected();
-                heartBeat.startNormalPing();
-            }
-
-            @Override
-            public void onFailed(String errorMessage) {
-                LogUtil.d(TAG, "getDirectives onFailed");
-                fireOnUnconnected();
-                heartBeat.startExceptionalPing();
-            }
-        });
-    }
-
-    /**
-     * 发送带流式请求
-     *
-     * @param requestBody       消息体
-     * @param streamRequestBody stream式消息体
-     * @param listener          回调
-     */
-    public void sendRequest(DcsRequestBody requestBody,
-                            DcsStreamRequestBody streamRequestBody, final IResponseListener listener) {
-        httpRequestImp.doPostEventMultipartAsync(requestBody,
-                streamRequestBody, getResponseCallback(dcsResponseDispatcher, new IResponseListener() {
-                    @Override
-                    public void onSucceed(int statusCode) {
-                        if (listener != null) {
-                            listener.onSucceed(statusCode);
-                        }
-                    }
-
-                    @Override
-                    public void onFailed(String errorMessage) {
-                        if (listener != null) {
-                            listener.onFailed(errorMessage);
-                        }
-
-                        heartBeat.startImmediatePing();
-                    }
-                }));
-    }
-
-    /**
-     * 发送普通请求
-     *
-     * @param requestBody 消息体
-     * @param listener    回调
-     */
-    public void sendRequest(DcsRequestBody requestBody, IResponseListener listener) {
-        httpRequestImp.doPostEventStringAsync(requestBody,
-                getResponseCallback(dcsResponseDispatcher, listener));
-    }
-
-    private void getDirectives(IResponseListener listener) {
-        httpRequestImp.cancelRequest(HttpConfig.HTTP_DIRECTIVES_TAG);
-        httpRequestImp.doGetDirectivesAsync(null,
-                getResponseCallback(dcsResponseDispatcher, listener));
-    }
-
-    private void fireOnConnected() {
-        if (dcsClientListener != null) {
-            dcsClientListener.onConnected();
-        }
-    }
-
-    private void fireOnUnconnected() {
-        if (dcsClientListener != null) {
-            dcsClientListener.onUnconnected();
-        }
-    }
-
-    private ResponseCallback getResponseCallback(final DcsResponseDispatcher dcsResponseDispatcher,
-                                                 final IResponseListener responseListener) {
-        ResponseCallback responseCallback = new ResponseCallback() {
-            @Override
-            public void onError(Call call, Exception e, int id) {
-                LogUtil.d(TAG, "onError,", e);
-                if (responseListener != null) {
-                    responseListener.onFailed(e.getMessage());
-                }
-            }
-
-            @Override
-            public void onResponse(Response response, int id) {
-                super.onResponse(response, id);
-                LogUtil.d(TAG, "onResponse OK ," + response.request().url());
-                LogUtil.d(TAG, "onResponse code ," + response.code());
-                if (responseListener != null) {
-                    responseListener.onSucceed(response.code());
-                }
-            }
-
-            @Override
-            public Response parseNetworkResponse(Response response, int id) throws Exception {
-                int statusCode = response.code();
-                if (statusCode == 200) {
-                    MultipartParser multipartParser = new MultipartParser(
-                            new MultipartParser.IMultipartParserListener() {
-                                @Override
-                                public void onResponseBody(DcsResponseBody responseBody) {
-                                    dcsResponseDispatcher.onResponseBody(responseBody);
-                                }
-
-                                @Override
-                                public void onAudioData(AudioData audioData) {
-                                    dcsResponseDispatcher.onAudioData(audioData);
-                                }
-
-                                @Override
-                                public void onParseFailed(String unParseMessage) {
-                                    dcsResponseDispatcher.onParseFailed(unParseMessage);
-                                }
-                            });
-
-                    try {
-                        multipartParser.parseResponse(response);
-                    } catch (IOException e) {
-                        e.printStackTrace();
-                    }
-                }
-                return response;
-            }
-        };
-
-        return responseCallback;
-    }
-
-    public interface IDcsClientListener {
-        void onConnected();
-
-        void onUnconnected();
-    }
-}
\ No newline at end of file