PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 疑難雜症區
帳戶
密碼
 

回應
 
主題工具
二天一流
*停權中*
 

加入日期: Aug 2020
文章: 13
Cool 請教關於 C# 修改原始碼問題

這是吃 .NET 4.5 的 要用 Visual Studio 2012 以上的版本才能編譯

代碼:
    public async Task SendAsync(PacketReader reader)
    {
      ....
      try
      {
        await this._socket.SendTaskAsync(buffer);
      }
      catch (Exception ex1)
      {
        ....
        return;
      }
      this._isSending = false;
    }

    public async Task ReceiveAsync()
    {
      ....
      try
      {
        int taskAsync = await this._socket.ReceiveTaskAsync(receiveBuffer);
      }
      catch (Exception ex)
      {
        ....
        return;
      }
    }


我想要把他降級到吃 .Net 3.5 的版本,但是.Net 3.5 沒 async 跟 await

該用什麼替代?

async Task SendAsync(PacketReader reader)
async Task ReceiveAsync()
await this._socket.SendTaskAsync(buffer);
await this._socket.ReceiveTaskAsync(receiveBuffer);

這四行如果改吃 .Net 3.5 或 .Net 2.0 以下版本,該怎麼寫?
我想讓他能在 Winsows XP 底下跑
     
      
舊 2021-01-15, 10:02 AM #1
回應時引用此文章
二天一流離線中  
substar999
Senior Member
 

加入日期: Sep 2001
您的住址: K
文章: 1,437
 
舊 2021-01-15, 11:54 AM #2
回應時引用此文章
substar999離線中  
二天一流
*停權中*
 

加入日期: Aug 2020
文章: 13
引用:
作者substar999
https://docs.microsoft.com/zh-tw/dotnet/csharp/programming-guide/concepts/async/


async await 這是 .net 4.5 的, 3.5 沒這個
舊 2021-01-15, 12:40 PM #3
回應時引用此文章
二天一流離線中  
二天一流
*停權中*
 

加入日期: Aug 2020
文章: 13
放棄 3.5 改用 4.0暫時得到緩解,編譯成功測試可以用

代碼:
    public async Task SendAsync(PacketReader reader) // .Net 4.5
    改成
    public void SendAsync(PacketReader reader) // 都可以
    {
      ....
      try
      {
        await this._socket.SendTaskAsync(buffer);
        改成
        this._socket.SendTaskAsync(buffer).Wait();
      }
      catch (Exception ex1)
      {
        ....
        return;
      }
    }

    public async Task ReceiveAsync() // .Net 4.5
    改成
    public async Task ReceiveAsync() // 都可以
    {
      ....
      try
      {
        int taskAsync = await this._socket.ReceiveTaskAsync(receiveBuffer);
        改成
        this._socket.ReceiveTaskAsync(receiveBuffer).Wait();
      }
      catch (Exception ex)
      {
        ....
        return;
      }
    }
舊 2021-01-15, 11:26 PM #4
回應時引用此文章
二天一流離線中  
suger68
Basic Member
 

加入日期: Sep 2013
文章: 29
Thumbs down

二天一流 *台法機乖分身帳號
https://www.pcdvd.com.tw/member.php?u=343600

水土散熱器都實作不了的伸手廢物 還來鬧笑話
__________________
2022年 60歲老頭 哀號斷氣中
台灣不是國家
為什麼支拉夫這麼顧人怨
碰到鬼了Gmail被盜用
沒想到Linux在桌機編譯核心有夠吵
請問Intel HD4600的替代品
PayPal裡面的外幣是不是也會漲跌
卡巴斯基要怎麼無限試用
現在手機挖礦會賺錢嗎
咕狗VPS實在有夠貴
有人租過contabo的伺服器嗎

沒錢告人真丟臉
https://www.law110.com.tw/forum_content.aspx?pid=652154

呆丸廖添丁- 陣亡
https://www.youtube.com/channel/UCN...xR0gHbPnO60GJ2w

小猛虎俱樂部 伸手
http://djpvd.pixnet.net/blog/

HT的影音 喇叭
http://vlog.xuite.net/pvdhk

混血雜種 仆街
http://www.plurk.com/sunger67

機乖墓誌銘
想問個關於linux的問題
今天遇到號稱懂78種語言的程式高人
最近一代年輕人怎麼都伸手牌一大堆
成功賺大錢的那天究竟什麼時候
真是感嘆 恩人變仇人 而我將是那位儈子手
來看笑話吧 ..
我一生最大的遺憾
誹謗罪僅是陪個2000塊嗎
被訟棍族釣魚怎麼辦
Linux其實是很糟糕的OS
PCDVD **
問一個網路問題
舊 2021-01-16, 07:53 PM #5
回應時引用此文章
suger68離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是08:07 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2024。