溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Thrift第七課 服務(wù)器多線程發(fā)送異常

發(fā)布時(shí)間:2020-04-09 21:04:43 來源:網(wǎng)絡(luò) 閱讀:1197 作者:fengyuzaitu 欄目:編程語(yǔ)言

場(chǎng)景

C++服務(wù)器端為每一個(gè)客戶端建立多線程發(fā)送,沒有添加鎖,會(huì)觸發(fā)異常:received invalid message type 3 from client。導(dǎo)致服務(wù)器端主動(dòng)斷開跟客戶端的連接

打印出錯(cuò)的代碼在TDispatchProcessor.h文件

相關(guān)堆棧代碼:

  apache::thrift::TOutput::errorTimeWrapper(const char * msg) 行 134 C++

  apache::thrift::TOutput::printf(const char * message, ...) 行 42 C++

apache::thrift::TDispatchProcessor::process(boost::shared_ptr<apache::thrift::protocol::TProtocol> in,boost::shared_ptr<apache::thrift::protocol::TProtocol> out, void * connectionContext) 行 116 C++


結(jié)論

調(diào)用發(fā)送的接口最好加鎖,或者是單線程發(fā)送


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI