none
Interop.MSWinsockLib 使用64bit編譯匯出錯 RRS feed

解答

  • (1) 當程式參考到 x86 元件的時候,就無法編議成 X64 。除非你把元件換成 X64 版。

    (2) 有甚麼特別原因一定要用 Interop.MSWinsockLib  ? .Net Framework 自己就帶有 Socket 類別,用 .Net Framework 裡的就沒有這煩惱了。
    https://dotblogs.com.tw/billchung/series/.net%20socket/1


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    • 已標示為解答 eesprmg2001 2018年9月24日 下午 01:02
    2018年9月20日 上午 03:59
    版主
  • 請直接改用 Socket / TcpClient / TcpListener 類別。

    MSWinsockLib 是 VB6 元件,單緒,用 Variant 變數,每次使用變數都需要封裝遞送,不適合用在 .Net framework 上。

    Trim 只支援空白字元,如果你 Byte 陣列裡面是 0 ,會轉換成 Chr(0) ,而不是空白字元,所以無法用空白字元裁減。

    使用 .Net 類別可參考下面那篇,透過 MemoryStream 操作,可迅速處理緩衝區、迴圈、傳送長度等問題,直接得到乾淨的 Byte 陣列。

    [.Net] 資料接收的常識


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    • 已標示為解答 eesprmg2001 2018年9月24日 下午 01:02
    2018年9月20日 下午 03:36

所有回覆

  • (1) 當程式參考到 x86 元件的時候,就無法編議成 X64 。除非你把元件換成 X64 版。

    (2) 有甚麼特別原因一定要用 Interop.MSWinsockLib  ? .Net Framework 自己就帶有 Socket 類別,用 .Net Framework 裡的就沒有這煩惱了。
    https://dotblogs.com.tw/billchung/series/.net%20socket/1


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    • 已標示為解答 eesprmg2001 2018年9月24日 下午 01:02
    2018年9月20日 上午 03:59
    版主
  • 感謝

    我下午用那範例程式可以正常接收發送

    但有個問題

    myObj.Receive_Data = Encoding.GetEncoding(950).GetString(myReceiveBytes).TrimEnd().TrimStart()

    他收到的字串長度都是1024

    可是我傳送的只有ABC  或12345

    請問一下我該怎麼把字串長度變成只有3

    2018年9月20日 上午 09:24
  • 請直接改用 Socket / TcpClient / TcpListener 類別。

    MSWinsockLib 是 VB6 元件,單緒,用 Variant 變數,每次使用變數都需要封裝遞送,不適合用在 .Net framework 上。

    Trim 只支援空白字元,如果你 Byte 陣列裡面是 0 ,會轉換成 Chr(0) ,而不是空白字元,所以無法用空白字元裁減。

    使用 .Net 類別可參考下面那篇,透過 MemoryStream 操作,可迅速處理緩衝區、迴圈、傳送長度等問題,直接得到乾淨的 Byte 陣列。

    [.Net] 資料接收的常識


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    • 已標示為解答 eesprmg2001 2018年9月24日 下午 01:02
    2018年9月20日 下午 03:36