主動(dòng)鏈接對(duì)端
connect( seed_node ); 鏈接peer節(jié)點(diǎn)
if (start_session( c )) { c->send_handshake (); //發(fā)送握手協(xié)議 }
c->send_handshake (); //初始化結(jié)構(gòu)體,發(fā)送握手協(xié)議,協(xié)議最后要enqueue
handshake_initializer::populate
queue_write(); 發(fā)送緩沖過去[發(fā)送緩沖后,如何把緩沖發(fā)送過去?]
主動(dòng)發(fā)送的握手?jǐn)?shù)據(jù)內(nèi)容
void
handshake_initializer::populate( handshake_message &hello) {
hello.network_version = net_version_base + net_version;
hello.chain_id = my_impl->chain_id; //系統(tǒng)選項(xiàng)可以設(shè)定
hello.node_id = my_impl->node_id;
hello.key = my_impl->get_authentication_key(); //公鑰
hello.time = std::chrono::system_clock::now().time_since_epoch().count();
hello.token = fc::sha256::hash(hello.time);
hello.sig = my_impl->sign_compact(hello.key, hello.token);
// If we couldn't sign, don't send a token.
if(hello.sig == chain::signature_type())
hello.token = sha256();
hello.p2p_address = my_impl->p2p_address + " - " + hello.node_id.str().substr(0,7);
#if defined( APPLE )
hello.os = "osx";
#elif defined( linux )
hello.os = "linux";
#elif defined( _MSC_VER )
hello.os = "win32";
#else
hello.os = "other";
#endif
hello.agent = my_impl->user_agent_name;
controller& cc = my_impl->chain_plug->chain();
hello.head_id = fc::sha256();
hello.last_irreversible_block_id = fc::sha256();
hello.head_num = cc.head_block_num();
hello.last_irreversible_block_num = cc.last_irreversible_block_num();
if( hello.last_irreversible_block_num ) {
try {
hello.last_irreversible_block_id = cc.get_block_id_for_num(hello.last_irreversible_block_num);
}
catch( const unknown_block_exception &ex) {
ilog("caught unkown_block");
hello.last_irreversible_block_num = 0;
}
}
if( hello.head_num ) {
try {
hello.head_id = cc.get_block_id_for_num( hello.head_num );
}
catch( const unknown_block_exception &ex) {
hello.head_num = 0;
}
}
}
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前標(biāo)題:EOS代碼分析6P2P主動(dòng)握手過程-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://jinyejixie.com/article32/jespc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、微信小程序、App開發(fā)、建站公司、定制網(wǎng)站、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容