作者JAMES299 (身化浮雲 心如飛絮)
看板PangSir
標題Re: [問題] 不能連Yahoo..
時間Mon Apr 3 11:58:15 2006
: 我剛剛試了把往server送的write改成strlen的
: 可是結果一樣耶
: 而且我好像是也write完,因為我是write完下一行才printf("write success!")
: 然後有印出來
: 是在read的時候read不完,read下一行要印出的東西沒有印在營幕上
這個問題我來說明一下,基本上為什麼要用strlen。因為當對方server收到request
它是如何判斷已經完整收到,沒有人知道。~"~
我推測它是以吃到/n/n /r/n/r/n這兩種當做結束的signal。所以當用sizeof之類的
送固定長度的request,yahoo可能會跑到最後一看,疑?怎麼不是我要吃的結束訊息
,就癡癡的等著你再送。當我們很開心的準備要recv它的回音,它也在等你。
我個人推測是這樣,所以send那行可以順利執行,可是到recv那行,對方不會傳回音
的原因。
當然~"~,我也聽說有人用strlen還是不行。這可能是別的問題所在。不過還是建議大
家往這方面來思考為什麼。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.103.186