Indy 8 的 idUDPServer 偶爾會停止回應,請大家幫忙看看! |
缺席
|
jaya
初階會員 發表:9 回覆:70 積分:30 註冊:2002-05-22 發送簡訊給我 |
我用idUDPServer寫了一個Windows 2000的服務.平常時運作良好,可是偶爾會停止回應.此時服務本身是正常的.
我在程式裡加了一個timer定時偵測UDPServer的狀況,結果也都是Active的.
但是,UDPServer本身無法再接收訊息了.
只要我重新啟動這個服務,就又可以正常運作了.
我加了一個計數器,用來計算接收的訊息數量.有時是接收6000多次才停止,有時是七、八十次就揨止了.
看了很久都找不到原因,麻煩各位前輩幫忙指導一下,謝謝~
UDPServer接收資料的程式碼如下(為節省版面,只附上與網路有關的部份)
procedure TServiceName.UDPServerUDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle); var DataStringStream: TStringStream; lists : TStringlist; begin try lists := TStringlist.Create; // 收到的訊息 DataStringStream := TStringStream.Create('nill'); try DataStringStream.CopyFrom(AData, AData.Size); lists.Text := DataStringStream.DataString; {這裡是處理lists.text的程式碼,主要是存入LogFile} ReplyMsg := 'OK'; ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, ReplyMsg[1], Length(ReplyMsg)); except LogToFile.WriteToLogFile('回傳訊息有誤',0,0); //這是另外安裝的元件,功能是將文字附加於指定檔案 end; Finally lists.Free; DataStringStream.Free; end; end;發表人 - jaya 於 2002/11/07 17:12:17 |
cq_139
一般會員 發表:0 回覆:1 積分:0 註冊:2003-02-22 發送簡訊給我 |
|
jaya
初階會員 發表:9 回覆:70 積分:30 註冊:2002-05-22 發送簡訊給我 |
|
javarun
一般會員 發表:0 回覆:1 積分:0 註冊:2003-08-17 發送簡訊給我 |
|
jaya
初階會員 發表:9 回覆:70 積分:30 註冊:2002-05-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |