ClientSocket 傳送問題 |
答題得分者是:暗黑破壞神
|
JH
一般會員 發表:3 回覆:13 積分:3 註冊:2006-07-06 發送簡訊給我 |
請問下面的程式碼有問題嗎? 為什麼傳不出去呢?
ClientSocket2->Address = "192.16.1.1"; ClientSocket2->Port = 1024; ClientSocket2->Open(); Sleep(200); ClientSocket2->Socket->SendText("123"); ClientSocket2->Active = true; 編輯記錄
taishyang 重新編輯於 2007-07-23 16:37:39, 註解 將文章分類成[問題]‧
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
為什麼你認為傳得過去? ===================引 用 JH 文 章=================== 請問下面的程式碼有問題嗎? 為什麼傳不出去呢? ClientSocket2->Address = "192.16.1.1"; ClientSocket2->Port = 1024; ClientSocket2->Open(); Sleep(200); ClientSocket2->Socket->SendText("123"); ClientSocket2->Active = true; |
JH
一般會員 發表:3 回覆:13 積分:3 註冊:2006-07-06 發送簡訊給我 |
|
JH
一般會員 發表:3 回覆:13 積分:3 註冊:2006-07-06 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
JH
一般會員 發表:3 回覆:13 積分:3 註冊:2006-07-06 發送簡訊給我 |
Thanks for your answer.
<1> 其實我用debug mode 去一步一步執行, delay time 已經超過200msec. 它還是不行. <2> 我看到 server 的狀態: 當Connect 寫在 form create的地方時, 他是OK, but 寫在一起時, 再送出 Active 時, 居然還多了一個 Connection 在Server端, This is Why? ===================引 用 暗黑破壞神 文 章=================== client connect to server. 需要時間。 在LAN也許 200ms 夠。 在 internet 不一定夠吧。 所以你寫在不同的地方可以動作。 你寫在一起。你根本就還沒等到它”連線”完成。就要它做什麼事。 它理你才有鬼勒。^_^ |
JH
一般會員 發表:3 回覆:13 積分:3 註冊:2006-07-06 發送簡訊給我 |
我的目的是: 送完訊息就斷線, 要送時,再連線. 所以會須要這樣子.
===================引 用 JH 文 章=================== Thanks for your answer. <1> 其實我用debug mode 去一步一步執行, delay time 已經超過200msec.?它還是不行. <2> 我看到 server 的狀態: 當Connect 寫在 form create的地方時, 他是OK,? but 寫在一起時, 再送出 Active 時, 居然還多了一個 Connection 在Server端, This is Why? ===================引 用 暗黑破壞神 文 章=================== client connect to server. 需要時間。 在LAN也許 200ms 夠。 在 internet 不一定夠吧。 所以你寫在不同的地方可以動作。 你寫在一起。你根本就還沒等到它”連線”完成。就要它做什麼事。 它理你才有鬼勒。^_^ |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
JH
一般會員 發表:3 回覆:13 積分:3 註冊:2006-07-06 發送簡訊給我 |
Thanks for your answer.
I thought that I found out the real root cause, that is add a line Application->ProcessMessage() after ClienrSocket->Open(). it can work. Thank you, 版主 ===================引 用 暗黑破壞神 文 章=================== 想想我說的話。看看 client 元件的 event 有那個可以讓你用的。 去試一試看。 |
salo0610
高階會員 發表:42 回覆:120 積分:107 註冊:2003-02-18 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
JH
一般會員 發表:3 回覆:13 積分:3 註冊:2006-07-06 發送簡訊給我 |
謝謝你們的回覆.
是的,我是利用 Connect 的Event 去得到連線時的 Socket, 再利用Application->ProcessMessage() 就解決我的問題了. ===================引 用 暗黑破壞神 文 章=================== 呵。他說解決了就讓他解決了吧。 等他換了個環境問題就會再出現。 沒遇到問題。不會學到東西。 ===================引 用 salo0610 文 章=================== dear JH : 有一個事件,你可以研究,試看看。 ClientSocket1Connect(TObject *Sender, TCustomWinSocket *Socket); |
cuteysc
初階會員 發表:16 回覆:37 積分:35 註冊:2003-05-28 發送簡訊給我 |
ClientSocket2->Active = true;
根本不必存在 當你 SendText 的之後, 字串就立刻傳送過去了 Active=true 跟 Open() 函式是一樣的功能 相反的 Active=false 等於 Close() ===================引 用 JH 文 章=================== 謝謝你們的回覆. 是的,我是利用 Connect 的Event 去得到連線時的 Socket,? 再利用Application->ProcessMessage()?就解決我的問題了. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |