亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C#局域網桌面共享軟件制作(二)

2019-11-17 03:13:07
字體:
來源:轉載
供稿:網友

C#局域網桌面共享軟件制作(二)

鏈接C#局域網桌面共享軟件制作(一)

如果你運行這個軟件查看流量監控就會發現1~2M/s左右的上傳下載,并且有時會報錯“參數無效”,如果你將屏幕截圖保存到本地的話每張圖片大概4M(bmp)、120KB(jpg),按照1秒傳送10張圖片計算,可想而知網絡流量占用很大。下面我們將一一解決這些問題

1.壓縮客戶端圖片

壓縮函數(需using System.Drawing.Imaging;)

        /// <summary>        /// 壓縮圖片,將壓縮后的圖片存入MemoryStream        /// </summary>        /// <param name="bitmap">原圖片</param>        /// <param name="ms">內存流</param>        public void ComPRessImage(Bitmap bitmap, MemoryStream ms)        {             ImageCodecInfo ici = null;            Encoder ecd = null;             EncoderParameter ept = null;             EncoderParameters eptS = null;            try            {                ici = this.getImageCoderInfo("image/jpeg");                ecd = Encoder.Quality;                eptS = new EncoderParameters(1);                ept = new EncoderParameter(ecd, 10L);                eptS.Param[0] = ept;                bitmap.Save(ms, ici, eptS);            }            catch (Exception ex)            {                throw new Exception(ex.Message);            }            finally            {                ept.Dispose();                eptS.Dispose();            }        }        /// <summary>          /// 獲取圖片編碼信息          /// </summary>          /// <param name="coderType">編碼類型</param>          /// <returns>ImageCodecInfo</returns>          private ImageCodecInfo getImageCoderInfo(string coderType)        {            ImageCodecInfo[] iciS = ImageCodecInfo.GetImageEncoders();            ImageCodecInfo retIci = null;            foreach (ImageCodecInfo ici in iciS)            {                if (ici.MimeType.Equals(coderType))                    retIci = ici;            }            return retIci;        }

客戶端線程執行體改為

        private void threadimage()        {            try            {                while (true)                {                    MemoryStream ms = new MemoryStream();                    CompressImage(GetScreen(), ms);//很明顯傳引用                    byte[] b = ms.ToArray();                    sendsocket.Send(b);                    Thread.Sleep(100);                }            }            catch (Exception ee)            {                MessageBox.Show(ee.Message);                return;            }        }

好了壓縮后的圖片只有38k左右

2.服務端報錯處理

“參數無效”錯誤原因是

byte[] b = new byte[1024 * 1000];hostSocket.Receive(b);MemoryStream ms = new MemoryStream(b);Image img=Image.FromStream(ms);//ms數據錯誤不能轉換為Image

為什么ms無效?原因是圖片大小超過了字節數組b的容量,或傳回的數據丟失或有空的內容

解決方法:既然字節數組容量小了,我們就增大它的容量。如byte[] b = new byte[1024 * 10000];增加10倍

由于我們已經在客戶端壓縮圖片了,所以就不用在考慮這點了。

另一點就是在將數據接收后判斷數據是否為一張圖片,如果不是就丟棄。

實現代碼

        private bool getImage(MemoryStream ms,out Image image)        {            try            {                image = Image.FromStream(ms);                return true;            }            catch            {                image = null;                return false;            }        }

服務器線程執行體改為

        private void trreadimage()        {            try            {                 while (true)                {byte[] b = new byte[1024 * 1000];                    hostSocket.Receive(b);                    MemoryStream ms = new MemoryStream(b);                    Image img;                    if (getImage(ms, out img))                    {                        picReceive.Image = img;                    }                }            }            catch (Exception ee)            {                MessageBox.Show(ee.Message);                thread.Abort();            }        }

應該不會有人問為什么不用

int len=0;

byte[] b = new byte[1024];

while((len=hostSocket.Receive(b))>0)

{ms.write(b,0,b.lenth)}循環接收數據以節省內存分配吧.

需要說明的是:如果你還有更好的解決方法請分享給我們,當然這個程序還未完,上面只是解決問題的一些方法

轉載,請注明出處和相關鏈接,否則追究其法律責任!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美华人在线视频| 欧美黑人性生活视频| 日韩www在线| 国产精品va在线播放| 久久视频这里只有精品| 国产精品xxxxx| 欧美日韩裸体免费视频| 欧美日韩高清区| 欧美俄罗斯性视频| 国产成人精品在线| 久久亚洲国产成人| 欧美激情久久久| 国产精品三级网站| 国产69精品久久久久9999| 狠狠久久亚洲欧美专区| 日产精品99久久久久久| 欧美成年人视频网站欧美| 亚洲品质视频自拍网| 欧美日韩国产麻豆| 欧美在线一级视频| 亚洲国产精品专区久久| 中文欧美日本在线资源| 亚洲视频在线免费看| 欧美猛交免费看| 欧美大成色www永久网站婷| 欧美激情国产精品| 国产精品高潮呻吟久久av无限| 欧美性极品xxxx娇小| 精品国产一区二区三区久久久狼| 精品一区二区亚洲| 欧美性猛交xxxx乱大交极品| 国产精品久久久久影院日本| 91精品国产91久久久久福利| 美女撒尿一区二区三区| 亚洲精品白浆高清久久久久久| 欧美成人精品在线| 超碰精品一区二区三区乱码| 精品色蜜蜜精品视频在线观看| 久久偷看各类女兵18女厕嘘嘘| 26uuu另类亚洲欧美日本一| 久久在线观看视频| 亚洲欧美国产另类| 亚洲第一av网| 最新国产成人av网站网址麻豆| 国产精品中文在线| 国产热re99久久6国产精品| 欧美日韩xxxxx| 日韩一区二区av| 国模极品一区二区三区| 国模精品视频一区二区三区| 亚洲精品一区二区久| 国产成人福利视频| 国产精品jizz在线观看麻豆| 国产欧美日韩中文字幕在线| 久久免费福利视频| yellow中文字幕久久| 夜夜嗨av一区二区三区四区| 久久99精品久久久久久噜噜| 91在线视频精品| 成人福利视频网| 亚洲综合社区网| 亚洲精品乱码久久久久久金桔影视| 成人午夜在线影院| 疯狂做受xxxx高潮欧美日本| 精品久久中文字幕| 5252色成人免费视频| 色琪琪综合男人的天堂aⅴ视频| 2019最新中文字幕| 日韩视频第一页| 亚洲精品国产拍免费91在线| 日韩av在线免费观看| 大荫蒂欧美视频另类xxxx| 国产www精品| 一区二区三区黄色| 4444欧美成人kkkk| 久久综合免费视频| 国产成人精品免费视频| 日韩欧美在线观看| 国产成人精品日本亚洲专区61| 欧美日韩国产va另类| 久久久久中文字幕2018| 色综合91久久精品中文字幕| 97精品国产97久久久久久春色| 日韩av在线影视| 国产中文字幕91| 欧美日韩在线观看视频小说| 亚洲男人天堂2024| 国产欧美日韩丝袜精品一区| 亚洲色图日韩av| 成人网欧美在线视频| 日韩电影大片中文字幕| 欧美激情视频播放| 国产成人精品视频| 欧美老女人bb| 日韩精品免费看| 日韩av在线影视| 欧美多人乱p欧美4p久久| 欧美日韩免费在线| 国产日韩欧美在线| 92裸体在线视频网站| 午夜精品一区二区三区av| 亚洲精品视频播放| 久久av红桃一区二区小说| 亚洲精品日韩在线| 最近2019中文免费高清视频观看www99| 668精品在线视频| 亚洲国产精品久久久久久| 亚洲精品91美女久久久久久久| 久久成人国产精品| 最近2019年好看中文字幕视频| 国产精品国产自产拍高清av水多| 成人免费淫片aa视频免费| 亚洲精品一区二区三区婷婷月| 久久九九精品99国产精品| 夜夜嗨av一区二区三区免费区| 欧美激情影音先锋| 国产精品中文在线| 亚洲欧美日韩精品久久奇米色影视| 亚洲国产天堂久久综合网| 国产精品成人一区| 日韩亚洲成人av在线| 成人免费视频在线观看超级碰| 国产欧美日韩亚洲精品| 日韩精品免费在线视频观看| 亚洲国产精品va在看黑人| 国产精品久久久久久久久免费| 亚洲人精品午夜在线观看| 色婷婷av一区二区三区在线观看| 久久久国产91| 精品亚洲一区二区三区在线观看| 亚洲精品理论电影| 91九色国产视频| 久久精品国产清自在天天线| 国产日韩欧美一二三区| 久久久久久久久综合| 国产成人91久久精品| 欧美黄色性视频| 日韩欧美一区二区三区| 亚洲专区在线视频| 91久久久久久久久久久| 国产偷国产偷亚洲清高网站| 日本久久亚洲电影| 国产欧美一区二区三区在线看| 国产欧美一区二区三区在线| 黄色成人在线播放| 亚洲高清色综合| 国产精品入口日韩视频大尺度| 久久国产天堂福利天堂| 深夜福利一区二区| 亚洲男人天堂2023| 亚洲成人精品久久| 国产日韩中文字幕| 国产视频精品久久久| 91精品啪aⅴ在线观看国产| 国产欧美精品在线| 欧美视频精品一区| 欧美性猛xxx| 欧美性猛交xxxx乱大交| 国产大片精品免费永久看nba| 91av视频在线| 中文字幕不卡av| 美女视频黄免费的亚洲男人天堂| 欧美一区二区三区免费观看| 亚洲午夜未满十八勿入免费观看全集|