請問SocketConnetion連外網時為什麼會經常斷線? |
答題得分者是:jieshu
|
zxm3646
一般會員 發表:8 回覆:15 積分:4 註冊:2004-12-04 發送簡訊給我 |
|
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 請問高手用SocketConnetion連外網時為什麼會經常掉線?該如何解決?我想應該是連線品質不好的關係吧, 如果連線品質穩定的話是不會的, 或者是有經過防火牆, 防火牆設定Timeout的時間過短, 以致一段時間沒用被斷線了. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
zxm3646
一般會員 發表:8 回覆:15 積分:4 註冊:2004-12-04 發送簡訊給我 |
|
speedup
資深會員 發表:19 回覆:259 積分:280 註冊:2003-07-04 發送簡訊給我 |
|
zxm3646
一般會員 發表:8 回覆:15 積分:4 註冊:2004-12-04 發送簡訊給我 |
|
speedup
資深會員 發表:19 回覆:259 積分:280 註冊:2003-07-04 發送簡訊給我 |
引言: 感?speedup兄的回答,改完后第一次?接速度快了很多! 但是InacTive Timeout值已???0了,网?品????有??的,因?PING服?器300ms左右。而且????提示RPC服?出?! ?有一???就是SocketConnetion??中?件速度很慢,我已?把?据??了,而且?取的?据量也不太,但是?是?延?3秒左右。??????如何解?? 每天都有一點進步!每天都是一個新的開始!會不會你的壓縮方式有問題?或是中間層物件寫的太沒效率 其實基本上我們不應該去假設網路品質是沒問題的 反而應該是撰寫出問題時的處理方式 其中一個主要的關鍵是你所撰寫的COM (Transaction Data Module) /DCOM(Remote DataModule)必須是無狀態的寫法(stateless) (而且每次中間層物件建立時不要做太多初始化動作 比方說開一大推無用的表格 只需開Client每次要求的資料,換言之您不能太依賴標準的元件設定 必須撰寫粉多處理的的程式) 做到這一步我相信你寫的系統在多人使用上會穩第粉多 接在前端著凡是任何對中間層處理的程式碼 除了標準的OnReconcileError 事件處理外 全部都加上例外處理(try .. except)再根據例外類型處理 參考看看 http://delphi.ktop.com.tw/topic.php?topic_id=49620 http://delphi.ktop.com.tw/topic.php?topic_id=41003 混心雜欲 棄修身~唉
------
唉~ |
JustinShen
中階會員 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
|
zxm3646
一般會員 發表:8 回覆:15 積分:4 註冊:2004-12-04 發送簡訊給我 |
|
johnny2212
初階會員 發表:34 回覆:65 積分:39 註冊:2003-04-09 發送簡訊給我 |
您所謂的"連外網時",是指ADSL而言吧,我給您一個新的建議,您不妨使用
WebConnection,也就是在Client端放入WebConnection的元件取代SocketConnection,如此會變成以下的結構
Database <--> DCOM <--> IIS(httpsrvr.dll) <--> Client(WebConnection)
這樣的好處在於您只需要透過Tcp/Ip,直接使用IIS去連結您的伺服器,不僅方便,效率也會快很多,最重要的是您的DCOM部分(也就是伺服器),完全不需要更改任何程式,您不妨試試看
|
johnny2212
初階會員 發表:34 回覆:65 積分:39 註冊:2003-04-09 發送簡訊給我 |
我再補充一點,為何我建議您使用WebConnection?因為Socketsrv.exe並非由Microsoft支援,您還必需要在Client端上掛載這支程式(您可能還要設定它),所以我建議您不要使用;
因為現在開發AP的習慣,都是將Client端做的愈簡單愈好,最好什麼都不要,
故現今很多開發的軟體,完全在IE上執行(也就是所謂的Thin-Client,如Oracle ERP)
既然您已經開發了使用SocketConnection的技術,我也不建議您做大幅度的修改若您將其換上WebConnection,這是最簡單而且快速的方法,可將Client端盡量簡化
|
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 因為Socketsrv.exe並非由Microsoft支援,您還必需要在Client端上掛載這支程式(您可能還要設定它)不好意思, 這是錯的, ScktSrvr.exe是裝在Server而不是Client, 和用WebConnection要在Server裝httpsrvr.dll類似. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
zxm3646
一般會員 發表:8 回覆:15 積分:4 註冊:2004-12-04 發送簡訊給我 |
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
引言: 感谢各位大大的回复!我的结构是SocketConnection RDM(SocketServer用Borland公司自带的那个) Oralce9i。可以把socketConnection换成用WEBConnection来连接吗?具体要怎么做?httpsrvr.dll在Server上如何安装?谢谢! 每天都有一點進步!每天都是一個新的開始!可以換成 WebConnection,沒有問題 httpsrvr.dll 安裝很簡單,只要複製到 server 的 inetpub/scripts 目錄中就可以了 加油喔,喵~
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/ |
johnny2212
初階會員 發表:34 回覆:65 積分:39 註冊:2003-04-09 發送簡訊給我 |
Sorry,JieShu說的沒錯,因為在Intranet上(ADSL),我都使用Soap或WebConnection,我從來都沒用過SocketConnection,原來它只要掛載在Server上,
不過我大致看了一下SocketConnection,它好像沒有提供防護措施(如UserName Proxy password等等),您在開放的網路上使用它,會不會有一些危險,或許SocketConnection也有提供保護措施,但是我想應該沒有IIS來的方便吧(IIS可以直接設定),這也是我建議您改用WebConnection或Soap(WebService)的理由
|
zxm3646
一般會員 發表:8 回覆:15 積分:4 註冊:2004-12-04 發送簡訊給我 |
|
zxm3646
一般會員 發表:8 回覆:15 積分:4 註冊:2004-12-04 發送簡訊給我 |
|
zxm3646
一般會員 發表:8 回覆:15 積分:4 註冊:2004-12-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |