?? subject_27650.htm
字號:
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:阿蝌 回復日期:2003-01-15 11:52:30
<br>內容:你send()了多少字節?<BR>用recv()最好循環接受,不要只寫一次<BR><BR>do{<BR>if((retval=recv(msg_socket,buffer+offset,50-offset,0))<0)<BR>{<BR>::AfxMessageBox ("接收數據出錯");<BR>} <BR> offset+=retval;<BR>}while(retval!=0);//或offset!=50<BR>
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:嵇山 回復日期:2003-01-15 11:56:12
<br>內容:謝謝阿蝌<BR>謝謝mm2003,<BR><BR>我現在就試試
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:阿蝌 回復日期:2003-01-15 11:57:11
<br>內容:一次send()的數據可以用多個recv()來收,用緩沖區大小決定的
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:嵇山 回復日期:2003-01-15 12:16:15
<br>內容:謝謝阿蝌<BR><BR>我的目的是想通過smb協議,能在局域網里訪問共享的文件夾.<BR><BR>我recv是一個從服務器返回的socket的內容<BR>如果,我直接訪問,(不通過自己的程序)我從其他的抓包軟件抓來的包是i=113,<BR>但是如果用程序的話,i=117,多了4各字節.<BR><BR>而且我如果編譯了一次得到i=117之后,后面有時候在執行一次,i=4;<BR>在以后,有時候是4,有時候是117.<BR>看了你給我的例子,但我不是不能收到東西,是多了4個byte.<BR>
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:嵇山 回復日期:2003-01-15 12:32:29
<br>內容:mm2003,<BR>bind已經寫到前面了<BR><BR>謝謝你幫我看程序.<BR>呵呵,我太菜了<BR>你說的阻塞模式,是不是用ioctlsocket(Sock,FIONBIO,&arg);<BR>這個函數<BR>我試了<BR><BR>剛才我老師說,linux里面說可能前面4各字節是一個出錯.搞不懂<BR><BR>再次謝謝你幫我讀程序
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:阿蝌 回復日期:2003-01-15 14:16:53
<br>內容:你把延時設長點試試<BR>tv.tv_sec=100;<BR><BR>我也不能確定
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:阿蝌 回復日期:2003-01-15 14:20:23
<br>內容:另外我記得現在far指針已經和普通指針沒有區別了,<BR>訪問的范圍好像都一樣
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:嵇山 回復日期:2003-01-15 14:43:50
<br>內容:謝謝阿蝌<BR>我改了,但是沒有效果,<BR>我想可能不是這里的原因
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:阿蝌 回復日期:2003-01-15 14:52:18
<br>內容:smb協議我沒接觸過<BR>多的四個字節會不會是包的長度:)<BR>繼續猜測中~~~~~~`
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:嵇山 回復日期:2003-01-15 15:10:40
<br>內容:我也是猜<BR>以前都沒有接觸過<BR><BR>不會<BR>它的值不是包的長度.<BR>前面4個byte的值是82,00,00,00換成10進制130,不是117或者113
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:mm2003 回復日期:2003-01-15 15:17:05
<br>內容:我想知道SMB的服務器端是在不停的發送嗎?如果是一個數據流的話,那你只用一個RECV()接收到的數據很可能是數據流的一部分,這和你調用它的時刻有關,你可以多用幾個RECV()看看得到的是什么。
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:嵇山 回復日期:2003-01-15 15:26:48
<br>內容:<BR>mm2003:<BR>謝謝.我只寫客戶端,不過我想應該不會不停的發送,<BR>我想應該是我request,然后,服務器端給一個response.<BR><BR>如果我用兩個revc()的話,<BR>程序就會一直停在一個地方不動
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:阿蝌 回復日期:2003-01-15 15:45:10
<br>內容:那就對了,如果recv收不到東西就會等待下去
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:嵇山 回復日期:2003-01-15 15:52:35
<br>內容:那就一直都不到<BR>什么都沒有<BR>這是為什么呢<BR>如果只用一個的話,至少后面的數據是對的
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:阿蝌 回復日期:2003-01-15 15:58:49
<br>內容:估計緩沖區的數據被第一個secv取光了,第二個取不到就一直等下去<BR>你可以把第一個的緩沖區設為1,第二個就能收到數據了
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:阿蝌 回復日期:2003-01-15 16:09:51
<br>內容:smb是不是一個以tcp/ip協議為基礎的一個應用層協議,<BR>好像就是在一個固定的端口上進行通信
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:mm2003 回復日期:2003-01-15 16:17:23
<br>內容:你不是用UNBLOCKING模式嗎?超時后應該返回
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:mm2003 回復日期:2003-01-15 16:31:05
<br>內容:我現在開始懷疑是不是這4個字節本身就存在而你的抓包工具有問題哪?咱們現在應該搞清楚SERVER到底發過來的數據是什么。
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:嵇山 回復日期:2003-01-15 16:50:00
<br>內容:我猜想可能是一開始server發了4個字節,但這4個byte并不是我想要的<BR>但他占用了我分配的區間的4個byte,而且沒有釋放,當server再發113個byte時,實際上地址已經向后面移動了4個字節.<BR>呵呵,不知道對不對<BR><BR><BR><BR>阿科:是在一個固定的端口,98下面是139<BR> 2000是……<BR>
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -