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
Entwicklung
Konto
Download
Entwicklung
Anmelden
Vergessen Konto/Passwort
Konto erstellen
Sprache
Hilfe
Sprache
Hilfe
×
Anmelden
Anmeldename
Passwort
×
Vergessen Konto/Passwort
Übersetzungsstatus von Deutsch
Kategorie:
Software
Personen
PersonalForge
Magazine
Wiki
Suche
OSDN
>
Finden Software
>
System
>
Networking
>
CLX C++ Libraries
>
Foren
>
開発者
>
smtp/pop
CLX C++ Libraries
Beschreibung
Projekt Zusammenfassung
Entwickler-Dashboard
Web-Seite
Entwickler
Bildergalerie
RSS Feed-Liste
Aktivität
Statistiken
Historie
Downloads
Aller Releases-Liste
Statistiken
Quellcode
Quellcode-Repositorys-Liste
Subversion
Repository ansehen
Ticket
Ticket-Liste
Liste der Meilensteine
Typenliste
Komponentenliste
Liste der zuletzt benutzten Tickets/RSS
Neue Ticket abschicken
Kommunikation
Forum-Liste
ヘルプ (2)
公開討議 (19)
開発者 (24)
Neuigkeiten
Foren:
開発者
(Thread #20505)
Zurück zur Thread-Liste
RSS
smtp/pop (2008-11-12 03:20 by
cielquis
#39829)
Ticket erstellen
メモ.
現在の実装だと,一旦データを全部もらってから送受信を行うので,(添付ファイルなどの関係で)メール本文のデータサイズが大きくなったときに困る.
なので,データの送受信が可能となった時点でソケット通信用のストリームを返して,データ部分の送受信はユーザに任せるようなインターフェースが必要か?
MIME のクラス設計としては,コンストラクタで送受信の準備の整ったソケットストリームを渡してもらって,あとはユーザがメール本文を追加するたびに,順次送っていくような形で実装するのが良いのか.
RE: smtp/pop (2008-11-12 11:48 by
cielquis
#39834)
Ticket erstellen
ストリームを返す形だと,全部送り終わった後のサーバからのレスポンスを受け取るタイミングが難しいか.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