Re: [問題] socket在第一次recv後 會自動斷線

看板C_and_CPP作者 (VF-17)時間14年前 (2011/06/29 21:23), 編輯推噓2(200)
留言2則, 1人參與, 最新討論串4/5 (看更多)
YEAH~~~~~~~~~ 我終於發現癥結了 Orz 最根本的原因就是 send()啊!!! 因為 len 設定成 MAXLINE = 65535 於是底層的buffer就爆炸了 大家可以收工了 -- 對於花這麼久時間才發現問題的自己 感到十分悔恨...... Q________Q : do{ : if( send(s, send_buf, MAXLINE, 0) == SOCKET_ERROR) ^^^^^^^^^^^^^^^^^^^^^^^^^ : cerr << "Send message error\n" << send_buf; : else : cout << "Client send:\n" << send_buf; : if( (n = recv(s, recv_buf, MAXLINE, 0)) == 0){ : cerr << "Connection closed\n"; : break; : } : else if( n == SOCKET_ERROR){ : cerr << "Received error\n" << WSAGetLastError(); : break; : } : else{ : recv_buf[n] = '\0'; : cout << recv_buf; : } : }while( fgets(send_buf, MAXLINE, stdin) != NULL ); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.131.41

06/29 21:31, , 1F
真是太感謝你啦 從下午跟一直跟我推敲問題I!!
06/29 21:31, 1F

06/29 21:34, , 2F
真是感受到非常溫暖阿(雖然現在很熱XDDD)
06/29 21:34, 2F
文章代碼(AID): #1E2oSyDH (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1E2oSyDH (C_and_CPP)