---
title: 指令流重连流程的开发
description: "客户端Socket断开，需要重新执行指令流云手机连接流程。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcps/boostcph/instrucstreamengine/kunpengcpsinstruction_16_0023.html
sourcePath: /source/zh/kunpengcps/boostcph/instrucstreamengine/kunpengcpsinstruction_16_0023.html
indexId: e7ab80adc0c9aab55b0739e7b0fe3555a2d822d78840bd2e9657f1d0bcd3dabc85
---
# 指令流重连流程的开发

#### 场景介绍

客户端Socket断开，需要重新执行指令流云手机连接流程。


#### 前提条件

客户端断开Socket连接。


#### 开发流程

在启动的逻辑线程中，依次调用指令流引擎的stop、initialize、start接口。


#### 编码实例

```
public class Activity implements BaseActivity { 
    protected void ReconnectCloudPhone() { 
        threadPool.submit(new ReconnectRunnable()); 
    } 
}
class ReconnectRunable implements Runnable {
    @Override
    public void run() {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                // 停止指令流引擎
                engine.stop();
                // 初始化指令流引擎
                int initResult = engine.initialize();
                if (initResult != InstructionEngine.VMI_SUCCESS) {
                     // 初始化指令流引擎失败
                }
                // 启动指令流引擎
                int startResult = engine.start(surfaceView.getHolder().getSurface(),
                    guestWidth, guestHeight, metric.densityDpi);
                if (startResult == InstructionEngine.VMI_CLIENT_START_FAIL) {
                    // 启动指令流引擎失败
                } else {
                    // 启动指令流引擎成功，启动接收线程
                }
            }
        });
    }
}
```
