我認爲這是更好的,如果我解釋的情況,所以這似乎不是一個太神祕的問題。我想爲一個項目發佈一些入門代碼,我想讓我的一些學生開始工作。該項目涉及通過一些互聯網網頁抓取,因此,我想爲他們提供一個URLStream類,它將下載輸入url的html並將其作爲字符串返回給他們。跨平臺的C + +網絡(沒有大型圖書館)
問題是,我似乎無法找到一種以跨平臺(學生擁有mac/windows/linux計算機)的方式處理網絡的特別好方法。我知道像Boost asio和libCurl這樣的圖書館,但使用這些圖書館的問題是我無法強制所有學生下載它們。所以我的問題是雙重的:
- 有沒有什麼好方法可以爲他們提供這個跨平臺的網絡代碼?
- 如果圖書館是這樣做的唯一方法,是否有任何方法將圖書館附加到初學者項目,以便學生不必下載它?我知道這可能是一個愚蠢的問題,但我似乎無法確定這是否可能。
什麼是運動的目標是什麼?爲學生學習低級網絡編程?瞭解HTTP?或者是其他東西?除非目標是讓學生(或*你*)學習低級網絡編程,否則我強烈建議你使用第三方庫(如libcurl)。這會讓你和你的學生變得更容易。而且你的維護要少得多,對你的支持和問題要少得多。 –
@Someprogrammerdude練習的目標與網絡無關。他們最多都在用html搞亂。我只是希望他們能夠專注於作業,而不必擔心網絡問題。我非常喜歡使用第三方庫,但這會讓我不得不告訴他們下載並設置庫(對吧?) - 這是我試圖避免的,因爲他們不必擔心這些細節。 libcurl可以附加到初學者項目,所以他們不必下載它? – gowrath
如果您有權訪問大多數學生可以訪問的系統(Windows系統,macOS系統和Linux系統),那麼您總是可以預建靜態庫,例如, libcurl與您的初學者代碼一起分發,並提供有關如何在構建時使用該庫的簡單說明。 –