ちょっとしたつぶやき。
DDEMLの.NETクラス化は一応続けています。まあおおよそのところは把握しました。しかし一点、理解できない点があります。
DDEにはコールドリンク、ウォームリンク、ホットリンクの3種類があります。このうちコールドリンクは単純にクライアントの要求にサーバがデータを返す、と言う単純な構造なのでまあいいんです。
問題はウォームリンクとホットリンク。これらはサーバ側がループ(アドバイズループと言います)を回し、何らかの条件が変わったとかそう言うタイミングでクライアントに通知する、という構造なんですが、両者の違いとして、ウォームリンクの方は通知するだけに留まるのに対し、ホットリンクは変更されたデータそのものも同時に送信するという差があります。
で、クライアント側はこの二つを、サーバ側にアドバイズループ開始を要求するメッセージを送信するときのフラグで分けます。
頭が痛いのはサーバ側の実装です。クライアントからのアドバイズループ開始要求を受け取るとき、ホット/ウォームに関するフラグが失われてしまうようなのです。つまりサーバ側はクライアントがホットリンクを要求してきたのかウォームリンクを要求してきたのか全く分かりません。これではクライアントが正しい要求をしてきたかどうかも分かりません。例えばホットリンク要求だけを突っぱねるなんてのが不可能になります。
DDEサーバは両方を透過的に扱えってことなんですかねぇ。
posted by Hongliang at 20:21|
Comment(0)
|
TrackBack(0)
|
日記
|

|