このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

Formを扱うCGIをC言語で

発言者:hkawa
( Date Wednesday, December 04, 1996 15:07:50 )


formからの入力でーたを操作するCGIをC言語で
つくりたいんですが(データを取り込んだ後の処理を、Cで
書いてあるため)、AppleEventの扱いかたなどが
よくわかりません。
CでCGIを書く人も少ないとは思いますが、わかる人がいたら
以下の点を教えてください。
  1.フォームに入力してもらったデータの取り込み
  2.処理後のページの返しかた
UNIX系の資料を読むと、標準入出力でいいらしいんですが
Mac ではどうやるのかの比較を教えてくれたらとても嬉しいです。

田中求之 さんからのコメント
( Wednesday, December 04, 1996 21:46:01 )

具体的なことについては他の方がフォローしてくれることを祈りつつ、一般的な
ことだけを書いておきます。

MacOS では CGI はアプリケーションにしなければなりませんので、アプリケーション
を作成することになります。この点はよろしいですね? アプリケーションと行っても、
ユーザーインターフェースが不要ですから、ある意味で、Mac のアプリケーション作りの
一番面倒な部分は避けることができるのですが。

UNIX とは全く環境が異なりますから、UNIX の C  の CGI を Mac に移植する
のは結構面倒であることは覚悟してください。たとえば、標準入出力なんてものは
Mac にはありませんので、サーバーと CGI とのコミュニケーションは AppleEvent
ですべて行われます。

CGI として作成するアプリケーションは、 AppleEvent を受け取れるように
しておかなければなりません。AppleEvent の処理の仕方については、Inside Macintosh
の Inter Application Communication の巻を読んでいただくしかありません。
この点が最大のネックですが、ここを理解しておかないと、CGI としてまともに
動くものは作れません。これをもとに、AppleEvent が処理できるアプリケーション
を作ることになります。

Class=WWWス, ID=sdoc の AppleEvent を受け取り、そのパラメーターの中にある
Form からのメッセージを処理して、replay としてページを返す、というのが基本的な
どうさです。これは、どの言語で開発する場合でも同じです。

StarNine のサイトを調べてもらえば、C による CGI 作成のためのフレームワーク
が見つかるはずです。また、その他にも C のソースが付いた CGI もあったように
思いますので、チェックしてみてください。 Extending WebSTAR というページ
です。


前薗 健一 さんからのコメント
( Wednesday, December 04, 1996 23:26:08 )

C/C++ による CGI アプリケーションの作成方法は今週中にでも私の
ホームページでドキュメントを公開します。サンプルの ftp もできる
ようにします。
公開したらこの会議室でお知らせします。

EasyBBS++, EasyBBS plugin のソースコードの公開ももうすぐです。