線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1657
推到 Plurk!
推到 Facebook!

請問互傳畫面時發生jepg#60 的錯誤?

答題得分者是:skcc
Jrry
一般會員


發表:4
回覆:4
積分:1
註冊:2002-11-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-03 18:10:50 IP:61.219.xxx.xxx 未訂閱
網路傳畫面的程式已經寫的差不多了,我們是用NUMUDP的元件來傳送的.. 不過每次在傳畫面時就會不定時的產生Jepg#60的錯誤,我曾經使用try.....catch的方式來欄截錯誤,但是錯誤仍然會發生..... TMemoryStream *imgstream = new TMemoryStream(); TJPEGImage *jpeg = new TJPEGImage; ... ... ... jpeg->LoadFromStream(imgstream); Image1->Picture->Bitmap->Assign(jpeg); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-->在此發生#60錯誤 ... ... 請問要如何欄截這個錯誤的訊息?......或者如何將image初始化?
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-03 23:57:35 IP:61.221.xxx.xxx 未訂閱
引言: 網路傳畫面的程式已經寫的差不多了,我們是用NUMUDP的元件來傳送的.. 不過每次在傳畫面時就會不定時的產生Jepg#60的錯誤,我曾經使用try.....catch的方式來欄截錯誤,但是錯誤仍然會發生..... TMemoryStream *imgstream = new TMemoryStream(); TJPEGImage *jpeg = new TJPEGImage; ... ... ... jpeg->LoadFromStream(imgstream); Image1->Picture->Bitmap->Assign(jpeg); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-->在此發生#60錯誤 ... ... 請問要如何欄截這個錯誤的訊息?......或者如何將image初始化?
Jrry 你好: 上面的 sample code 我已經試過了 並沒有辦法模擬出你所說的那種情形 方便再提供更詳細的資訊嗎?? 備註: 請問你在 > > --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
Jrry
一般會員


發表:4
回覆:4
積分:1
註冊:2002-11-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-04 15:28:59 IP:61.219.xxx.xxx 未訂閱
引言: Jrry 你好: 上面的 sample code 我已經試過了 並沒有辦法模擬出你所說的那種情形 方便再提供更詳細的資訊嗎?? 備註: 請問你在 > > -- >< face="Verdana, Arial, Helvetica"> 不好意思!忘了特別提醒,一定要兩台電腦測試才測的出來! 本機對本機測的話,一定不會有問題的....謝謝大家....
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-21 02:37:03 IP:61.221.xxx.xxx 未訂閱
引言: 一定要兩台電腦測試才測的出來! 本機對本機測的話,一定不會有問題的
Jrry 你好: 你的 sample code 已經修改且寄還給你了< > 希望你自己試試~~看還會不會有那個錯誤??< > -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-24 16:33:38 IP:203.69.xxx.xxx 未訂閱
我在localhost下也會發生耶!!??    請問大大,我現在也需要寫有關這一段的project, 想請問您,為什麼我在LocalHost下卻 error message 不段呢??    Client: 我顯用 Bmp 將會面擷取  然後 用 jpg->Assign(bmp); 沒壓縮  然後 jpg->SaveToStream(MyStream);         MyStream->Point = 0; 然後 用 NMUDP->SendStream(MyStream); Server: 用 NMUDP->ReadStream(SerMyStream);   用 sjpg->LoadFromStream(SerMyStream);      bmp->Assign(sjpg);      Image->Picture->Bitmap->Assign(bmp);    去無法看到圖呢????? 救人喔喔喔喔喔!!!!    
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-26 17:54:50 IP:61.221.xxx.xxx 未訂閱
看來這個問題終於找到解答了
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
skcc
中階會員


發表:36
回覆:96
積分:88
註冊:2002-08-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-12-26 18:29:16 IP:203.99.xxx.xxx 未訂閱
這些傳圖的問題,請參考我在 "Programer 深度論壇" 中的答案: http://forum.vclxx.org/topic.php?TOPIC_ID=16883&FORUM_ID=54&CAT_ID=3&Topic_Title=%BD%D0%B1%D0+xingxilong+%A5S&Forum_Title=Internet 若還有問題,歡迎討論。 Anthony Lee
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-12-27 14:57:31 IP:211.75.xxx.xxx 未訂閱
上面的範例試過了,but.... 可以請問嗎?? 我用NMUDP直接傳TMemoryStream 都會失敗(出現錯誤) 或者只有收到少許的bytes而已,原圖也沒問題呀!! 直接用一buffer[1024]讀stream又會因為 '\0' 而祇讀到6個bytes而已 why?? ^_^
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-12-27 14:58:10 IP:211.75.xxx.xxx 未訂閱
上面的範例試過了,but....    可以請問嗎?? 我用NMUDP直接傳TMemoryStream 都會失敗(出現錯誤) 或者只有收到少許的bytes而已,原圖也沒問題呀!! 直接用一buffer[1024]讀stream又會因為 '\0' 而祇讀到6個bytes而已 why?? ^_^
skcc
中階會員


發表:36
回覆:96
積分:88
註冊:2002-08-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-12-27 17:00:16 IP:203.198.xxx.xxx 未訂閱
引言: 上面的範例試過了,but.... 可以請問嗎?? 我用NMUDP直接傳TMemoryStream 都會失敗(出現錯誤) 或者只有收到少許的bytes而已,原圖也沒問題呀!! 直接用一buffer[1024]讀stream又會因為 '\0' 而祇讀到6個bytes而已 why?? ^_^ < face="Verdana, Arial, Helvetica"> 我的例子中,是以 NMUDP 的 SendBuffer 來作的。你可在受控端,看到有多少個字節已傳送。至於 SendStream 方法,我還沒有試過,待我試完再報告吧。 Anthony Lee 發表人 - skcc 於 2002/12/27 17:02:12
skcc
中階會員


發表:36
回覆:96
積分:88
註冊:2002-08-28

發送簡訊給我
#11 引用回覆 回覆 發表時間:2002-12-27 21:15:50 IP:203.99.xxx.xxx 未訂閱
引言: 網路傳畫面的程式已經寫的差不多了,我們是用NUMUDP的元件來傳送的.. 不過每次在傳畫面時就會不定時的產生Jepg#60的錯誤,我曾經使用try.....catch的方式來欄截錯誤,但是錯誤仍然會發生..... TMemoryStream *imgstream = new TMemoryStream(); TJPEGImage *jpeg = new TJPEGImage; ... ... ... jpeg->LoadFromStream(imgstream); Image1->Picture->Bitmap->Assign(jpeg); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-->在此發生#60錯誤 ... ... 請問要如何欄截這個錯誤的訊息?......或者如何將image初始化?
引言: skcc 回覆主題:【問題】請問互傳畫面時發生jepg#60 的錯誤? http://delphi.ktop.com.tw/link.asp?TOPIC_ID=23502
請看看你的 Jpeg size 是否太大,若然太大又要在限定時間來傳的話,網絡會因為傳輸不勝負荷,因而不能完全傳輸整個 JPEG Stream ,所以會得出 Error #60。你可以做的是: 1. 減少 JPEG->CompressionQuality; //1-100 的值。 2. 降低 Color Bit 數。 3. 降低需要傳輸的 hit rate 。 4. 增加硬體需求。 因為以一個1024x768以65536種顏色並以 CompressionQuality=100 來傳的話,大約會造成1.6Mb的 data 在傳送(據我測試)。 所以你應變更 Quality 的值來減低網絡的傳送負荷。(若以 Quality = 10 來傳的話,Stream Size 只是幾十kb而已。) 補充說明: 另外 CompressionQuality 的有效範圍為: 1 ~ 100 還有執行 Assign(..) 之後,一定要執行 jpeg->Compress(),否則 CompressionQuality 不會生效。 Anthony Lee 發表人 - skcc 於 2002/12/27 23:08:43
系統時間:2024-04-20 23:30:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!