全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:957
推到 Plurk!
推到 Facebook!

為什麼accept不到?

尚未結案
karasu
一般會員


發表:1
回覆:1
積分:0
註冊:2005-02-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-16 17:27:22 IP:163.23.xxx.xxx 未訂閱
大家好 我是剛接觸socket設計的初學者 我照著書上的指示想要自己寫一個簡單的server與client的程式 但在server端accept時卻一直無法成功 以下是我accpet的迴圈 while(1) { if(select(0,&fdread,NULL,NULL,NULL)>0) { AfxMessageBox("inread"); if(FD_ISSET(s,&fdread)) { as=accept(s,(SOCKADDR *)&Client,&ClientLen); if(as!=INVALID_SOCKET) { acceptsock=as; AfxMessageBox(inet_ntoa(Client.sin_addr)); return true; } } } Sleep(1000); } 根據我的測試,當有連線過來就會顯示"inread"這個訊息,這樣應該是表示client有線上了吧,但是之後的accept卻都一直是INVALID_SOCKET。 我看了一些其他的範例程式,還是不知道我到底錯在那 另外我有用WSAGetLastError()回傳的錯誤代碼是10014 但我不知道這代表什麼意思... 希望有人能幫我解答一下,謝謝!! 發表人 - karasu 於 2005/04/16 17:34:12
hdilwy
初階會員


發表:18
回覆:65
積分:41
註冊:2004-08-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-18 21:09:09 IP:219.68.xxx.xxx 未訂閱
karasu
一般會員


發表:1
回覆:1
積分:0
註冊:2005-02-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-19 17:48:32 IP:163.23.xxx.xxx 未訂閱
感謝...終於解決了 我後來發現結果是Client跟ClientLen變數的關係 我原本是將這兩個設為全域變數,後來改成區域變數就可以了 不過我還是不清楚為什麼會這樣
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-04-18 17:33:10 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-04-29 20:32:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!