亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
12
最近訪問板塊 發(fā)新帖
樓主: sublx
打印 上一主題 下一主題

[函數(shù)] 請(qǐng)教一個(gè)TCP SOCKET的簡單問題。各種牛請(qǐng)進(jìn)! [復(fù)制鏈接]

論壇徽章:
1
2015年亞洲杯之巴林
日期:2015-02-05 20:34:47
11 [報(bào)告]
發(fā)表于 2013-03-25 22:29 |只看該作者
回復(fù) 10# tansijie


    但是用 EPOLL 的 ET模式必須一次讀完,只讀一部分的話,下一次 epoll_wait不會(huì)得到通知的。關(guān)鍵還不是這個(gè),關(guān)鍵是我說的那個(gè),只讀了一半數(shù)據(jù)怎么辦?

論壇徽章:
0
12 [報(bào)告]
發(fā)表于 2013-03-26 09:12 |只看該作者
自定義格式:比如發(fā)送時(shí)發(fā)個(gè)“Send:A數(shù)據(jù)長度:數(shù)據(jù),B數(shù)據(jù)長度:數(shù)據(jù)",接收端每次接受數(shù)據(jù)檢查邊界

論壇徽章:
1
2015年亞洲杯之巴林
日期:2015-02-05 20:34:47
13 [報(bào)告]
發(fā)表于 2013-03-26 09:19 |只看該作者
hededisanan00 發(fā)表于 2013-03-26 09:12
自定義格式:比如發(fā)送時(shí)發(fā)個(gè)“Send:A數(shù)據(jù)長度:數(shù)據(jù),B數(shù)據(jù)長度:數(shù)據(jù)",接收端每次接受數(shù)據(jù)檢查邊界


基本上是這樣處理,不過接收函數(shù)里面接收的buffer要能動(dòng)態(tài)增長,所以搞得比較麻煩。

論壇徽章:
0
14 [報(bào)告]
發(fā)表于 2013-03-26 17:51 |只看該作者
回復(fù) 11# sublx
邊緣觸發(fā)方式的確如果一次性未讀完,后續(xù)的不再通知了,解決這種問題的辦法是,接受的時(shí)候,while循環(huán)讀,多讀幾次,直到讀完,等下次有新的數(shù)據(jù)的時(shí)候epoll會(huì)通知你。


   

論壇徽章:
1
2015年亞洲杯之巴林
日期:2015-02-05 20:34:47
15 [報(bào)告]
發(fā)表于 2013-03-26 22:00 |只看該作者
回復(fù) 14# tansijie


    這些都知道,現(xiàn)在的問題是,當(dāng)你去讀數(shù)據(jù)的時(shí)候,你的接受緩沖比socket的接收緩沖小的時(shí)候的處理方案。

論壇徽章:
0
16 [報(bào)告]
發(fā)表于 2013-03-26 22:33 |只看該作者
回復(fù) 15# sublx
不是說了么, 當(dāng)一個(gè)epoll 讀事件發(fā)生了。 你用do while 讀數(shù)據(jù),直到這個(gè)緩沖區(qū)數(shù)據(jù)讀完, 你要是實(shí)在不知道讀多少數(shù)據(jù),那么你使用getsockopt 函數(shù)獲取當(dāng)前接收緩沖區(qū)有多少數(shù)據(jù),然后將這部分?jǐn)?shù)據(jù)讀完,我也是寫客戶端與服務(wù)端交互這種程序,你說的這種情況太常見了。 et模式收到數(shù)據(jù)了,循環(huán)讀,將緩沖區(qū)讀完,然后大的循環(huán)再去查epoll 有沒有讀的事件發(fā)生。

   

論壇徽章:
0
17 [報(bào)告]
發(fā)表于 2013-03-29 16:29 |只看該作者
暈,3樓不是說的很清楚了么。tcp是流模式的,所以要自己去解析包。定義消息格式,一般用msg len+msg body
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP