[問題] c# Socket在 Win8,Win10 傳圖的問題

看板C_Sharp (C#)作者 (=.=)時間7年前 (2017/08/18 21:20), 7年前編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/1
各位前輩好 目前遇到一個問題... 使用c# WinForm Socket (vs2010) 傳圖至 APP 在Win7(專業版)的環境下,APP收圖都正常 但在WIN8 及 WIN10(home) 的環境下 APP=>decodeByteArray 出來的BMP 都是null 除了作業系統不同以外,其它的環境都一致 對照了一下byte的內容,發現Win8 Win10 的環境下 APP收到Byte[]的根本就不對了(每次都不同,而且帶有負數) 但WIN7發送的Byte[] ,每次APP收到的內容就會一致 Byte[]的內容,直到CoSocket.Send(byImg);時都沒問題 (win7,8,10都一致) 感覺是傳出後,才出錯 不過若傳文字的話,Win7,8,10都沒問題 程式碼如下: Image Imgtmp = Image.FromFile("j:\\pc.jpg"); Byte[] byImg = imageToByteArray(Imgtmp); CoSocket.Send(byImg); <===send的時候,有確定連線正常 ----- public static byte[] imageToByteArray(System.Drawing.Image imageIn) { MemoryStream ms = new MemoryStream(); imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); return ms.ToArray(); } 煩請各位先進們幫忙,謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.207.111 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1503062421.A.480.html ※ 編輯: ukyoGoGo (114.34.207.111), 08/18/2017 21:30:07 ※ 編輯: ukyoGoGo (114.34.207.111), 08/18/2017 21:33:24

08/18 22:20, , 1F
有看receive出來的東西嗎?
08/18 22:20, 1F

08/19 17:57, , 2F
return ms.ToArray()前加一段 ms.Position = 0; 試試看?
08/19 17:57, 2F
文章代碼(AID): #1PbkcLI0 (C_Sharp)
文章代碼(AID): #1PbkcLI0 (C_Sharp)