請問TServerSocket/TClientSocket的問題 |
缺席
|
willchen
初階會員 發表:64 回覆:81 積分:29 註冊:2003-05-23 發送簡訊給我 |
各位高手好
小弟在實做上遇到一個問題,沒辦法解決,只好上來問問高手的意見
基本上是一個Client/Server的環境,當然,Server先開啟等待Client連線,
但現在問題來了,一但Client連線到Server之後,Server要怎麼傳Stream給Client,我在Server端使用ServerSocket->Socket->SendStream(在一般程式內)
Client端使用OnRead的Event來接收,會產生Asynchorous error,為何會這樣??
我把部分程式貼在上面請各位幫幫忙
class="code"> MM2S_Server->Socket->SendStream(argument_stream);
Client端
================================================================
//--------------------------------------------------------------------------- #include |
brook
資深會員 發表:57 回覆:323 積分:371 註冊:2002-07-12 發送簡訊給我 |
|
willchen
初階會員 發表:64 回覆:81 積分:29 註冊:2003-05-23 發送簡訊給我 |
謝謝Brook兄回應,我問題很早就解決了,我有幾個問題想問Brook兄,
1.當有很多個Client連線到Server的時候,Server端要傳訊息給Client端時,要怎麼來辨別,那個Client??是使用Connection[i]來辨別嗎??但我有個疑問是,一但有一個Client斷線的話,那i的計算要怎麼來算??才能夠正確的locate原本連線的Client 2.ServerSocket->Open與ServerSocket->Active=true
這兩個差別在哪??由於我看了說明檔,實在看不出這兩個差別,看板上的文章,好像Socket如果要在runtime開啟時,則要使用open來開啟比較好,請問這是這樣的差別嗎??
|
brook
資深會員 發表:57 回覆:323 積分:371 註冊:2002-07-12 發送簡訊給我 |
引言: 1.當有很多個Client連線到Server的時候,Server端要傳訊息給Client端時,要怎麼來辨別,那個Client??是使用Connection[i]來辨別嗎??但我有個疑問是,一但有一個Client斷線的話,那i的計算要怎麼來算??才能夠正確的locate原本連線的Client1.你可在ServerSocket1ClientRead,直接用Socket, 由server主動send資料,改成被動,client要求才傳送資料. void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender, TCustomWinSocket *Socket) { } 2.一個一個檢查 MM2S_Server->Socket->Connections[i]->RemoteAddress; 和 MM2S_Server->Socket->Connections[i]->RemotePort; 引言: 2.ServerSocket->Open與ServerSocket->Active=true 這兩個差別在哪??由於我看了說明檔,實在看不出這兩個差別,看板上的文章,好像Socket如果要在runtime開啟時,則要使用open來開啟比較好,請問這是這樣的差別嗎??歹勢,這我就不知道了. |
gemi0305
版主 發表:81 回覆:564 積分:629 註冊:2003-05-11 發送簡訊給我 |
我補充一下,第一個問題,是大家常常在問的,
這裡有綜合以前到現在有關這個問題的文章~ http://delphi.ktop.com.tw/topic.php?TOPIC_ID=36597 第二個問題:
At design time, set Active to true to make the socket open a connection when the application starts running.
At runtime, use the Open or Close method to open or close the connection. 希望有人有去實作來比較 國泰平安
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |