     fileprivate var _reqeustId:UInt32 = 10000
     fileprivate var _socketHelper:SocketHelper?
     fileprivate var _sessionId:UInt64 = 0
+    fileprivate var timelineRequest: SocketRequest?
+    fileprivate var productsRequest: SocketRequest?
     var receiveChatMsgBlock:CompleteBlock?
     var operate_code = 0
     func start() {

        packet.session_id = sessionId;
        operate_code = Int(packet.operate_code)
        objc_sync_enter(self)
        socketRequests[packet.session_id] = socketReqeust;
        objc_sync_exit(self)
        sendRequest(packet)
    }

    func notifyResponsePacket(_ packet: SocketDataPacket) {
    
        objc_sync_enter(self)
        var socketReqeust = socketRequests[packet.session_id]
        if packet.operate_code ==  SocketConst.OPCode.timeline.rawValue + 1{
            socketReqeust = timelineRequest
        }else if packet.operate_code == SocketConst.OPCode.products.rawValue + 1{
            socketReqeust = productsRequest
        }else{
            socketRequests.removeValue(forKey: packet.session_id)
        }
