You are not logged in. This forum allows only logged in users to post. If you want to post in the forum, please log in.
下載
軟體開發
帳戶
下載
軟體開發
登入
我忘記帳戶名和密碼了
新增帳戶
語言
手冊
語言
手冊
×
登入
登入名稱
密碼
×
我忘記帳戶名和密碼了
繁體中文翻譯狀態
類別:
軟體
人
PersonalForge
Magazine
Wiki
搜尋
OSDN
>
軟體搜索
>
System
>
Networking
>
CLX C++ Libraries
>
討論區
>
開発者
>
smtp/pop
CLX C++ Libraries
描述
專案概要
開發人員儀表板
專案的網頁
Developers
Image Gallery
List of RSS Feeds
活動
使用統計
歷史
檔案下載
發布列表
Stats
原始碼
儲存庫列表
Subversion
查看儲存庫
待辦事項
待辦事項列表
里程碑列表
類型列表
元件列表
List of frequently used tickets/RSS
新增待辦事項
溝通
討論區列表
ヘルプ (2)
公開討議 (19)
開発者 (24)
新聞
討論區:
開発者
(Thread #20505)
Return to Thread list
RSS
smtp/pop (2008-11-12 03:20 by
cielquis
#39829)
Create ticket
メモ.
現在の実装だと,一旦データを全部もらってから送受信を行うので,(添付ファイルなどの関係で)メール本文のデータサイズが大きくなったときに困る.
なので,データの送受信が可能となった時点でソケット通信用のストリームを返して,データ部分の送受信はユーザに任せるようなインターフェースが必要か?
MIME のクラス設計としては,コンストラクタで送受信の準備の整ったソケットストリームを渡してもらって,あとはユーザがメール本文を追加するたびに,順次送っていくような形で実装するのが良いのか.
RE: smtp/pop (2008-11-12 11:48 by
cielquis
#39834)
Create ticket
ストリームを返す形だと,全部送り終わった後のサーバからのレスポンスを受け取るタイミングが難しいか.smtp だと,今の message 引数の部分を関数オブジェクトを取る形にするのが良いかもしれない.
template <class Functor>
basic_smtp& mail(const string_type& from, const string_type& to, Functor f);
送信相手が複数の場合は,
template <class MailingList, class Functor>
basic_smtp& mail(const string_type& from, const MailingList& to, Functor f);
こんな感じ.
ユーザは,Functor として,
class functor {
public:
template <class OutputIterator>
void operator()(OutputIterator& sout);
};
こんな形のクラス,または関数を定義して渡す.
回覆:
#39829