-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 營銷推廣 > 專題列表 > 正文
chat thit di(chat thit di歌曲)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于chat thit di的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,有小程序、在線網(wǎng)頁版、PC客戶端和批量生成器
官網(wǎng):https://ai.de1919.com。
本文目錄:
linux 聊天程序中的一個錯誤 bad file discriptor
哈哈我也寫過這樣的程序,很有興趣和你討論。不過我寫的是基于NAT穿透的,當(dāng)然現(xiàn)在只有一個雛形。我大概跟你說一下SOCKET建立鏈接的方法,你應(yīng)該就能發(fā)現(xiàn)錯誤了。
首先,我們有客戶A客戶B服務(wù)器S(這里為了簡單,我們討論內(nèi)網(wǎng)環(huán)境,外網(wǎng)還有很大的不同)。
首先服務(wù)器S建立監(jiān)聽套接字,建立一個總所周知的端口,而客戶AB上線,那么都和服務(wù)器建立這個端口建立鏈接(這里會遇到一個問題,如果不keepalive可能會掉線,你可以去查查套接字的選項),服務(wù)器記住這兩個客戶的套接字FD,現(xiàn)在就可以通過read write來實現(xiàn)通訊了。
不知道我們的想法是否一樣呢?追問
非常感謝你的回答,,我們的思路真的是一樣的,keepalive的設(shè)置是不是只要在accept之后對new_fd添加下面幾行代碼
int keepalive = 1,keepidle = 60, keepinterval = 5,keepcount = 3;
然后分別調(diào)用setsockopt()函數(shù)進(jìn)行設(shè)置
我這樣設(shè)置以后為什么還是不對呢,可以講講你具體是怎樣做的嗎
你的服務(wù)器第二次write失敗我覺得很有可能是你已經(jīng)關(guān)閉了對應(yīng)的fd,要知道當(dāng)我們調(diào)用write()的時候,并不是馬上就發(fā)送的,而是寫入了內(nèi)核緩沖區(qū),等待緩沖區(qū)滿了或者調(diào)用了close才發(fā)送的。
關(guān)閉緩沖區(qū)代碼如下,添加下面代碼,connfd就是建立的連接的fd
//在發(fā)送數(shù)據(jù)的時,不執(zhí)行由系統(tǒng)緩沖區(qū)到socket緩沖區(qū)的拷貝int nZero = 0;
setsockopt( connfd, SOL_SOCKET, SO_SNDBUF, ( char * )&nZero, sizeof( nZero ) );
//在接收數(shù)據(jù)時,不執(zhí)行將socket緩沖區(qū)的內(nèi)容拷貝到系統(tǒng)緩沖區(qū)
setsockopt( connfd, SOL_SOCKET, SO_RCVBUF, ( char * )&nZero, sizeof( int ) );追問
我這樣設(shè)置了一下,好像還是不對哎,被這問題困擾好久了,,真心不懂到底是哪的原因。。
追答你把服務(wù)器accept后的代碼發(fā)上來看看吧。。
追問代碼有點長,它這邊有字?jǐn)?shù)限制,而且看上去也不太方便,如果可以的話給留個郵箱唄,我把客戶端和服務(wù)端的代碼發(fā)過去,麻煩你給看看,我的QQ:1850269709,謝謝啦
這邊就能傳附件的,就在答題框那。
追問找了半天,,好像是回答問題可以上傳附件和代碼,提問的人找不到上傳的按鈕,,好奇葩的百度。。
追答囧這樣啊好吧。。我的郵箱ltcmailhome@gmail.com ..qq因為電腦不是windows不能用也少上。。
tai wechat ve dien thoai
越南語 tại wechat về diễn thoải 在微信上打電話以上就是關(guān)于chat thit di相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
ChatGPT國內(nèi)能下載嗎(potato chat國內(nèi)能用嗎)
河源會所花園景觀設(shè)計(河源會所花園景觀設(shè)計公司)