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.
Download
Magazine
Develop
Account
Download
Magazine
Develop
Login
Forgot Account/Password
Create Account
Language
Help
Language
Help
×
Login
Login Name
Password
×
Forgot Account/Password
Category:
Software
People
PersonalForge
Magazine
Wiki
Search
OSDN
>
Find Software
>
System
>
Networking
>
CLX C++ Libraries
>
Forums
>
開発者
>
smtp/pop
CLX C++ Libraries
Description
Project Summary
Developer Dashboard
Web Page
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
Downloads
List of Releases
Stats
Source Code
Code Repository list
Subversion
View Repository
Ticket
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Communication
List of Forums
ヘルプ (2)
公開討議 (19)
開発者 (24)
News
Forums:
開発者
(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);
};
こんな形のクラス,または関数を定義して渡す.
Reply to
#39829