• 締切済み

ハイパーターミナルでシリアル入出力

ブラウザでabcと入力し、送信ボタンを押すとハイパーターミナルにabc と返ってくるのは出来たのですが、 逆にハイパーターミナルから文字入力を行い、 ブラウザに出力するといった操作が出来ません。 使ってる言語はC言語です。 どなたかヒントか参考になるページ、本などありましたら教えてください。 よろしくお願いします。

みんなの回答

回答No.2

何をやりたいのかが明確ではありませんが、文面から推測するに、 「ブラウザで動作するハイパーターミナル」 のようなものを作ろうとされているのではないかと思います。 もしそうだとすると、HTTPというプロトコルやCGIの仕組みは双方向通信に向いていません。不可能という訳ではありませんが、数秒おきのポーリングや更新ボタンのようなものを使うなど、一般的なターミナルという用途には不向きな物になるかと思います。 こういう用途だと方法は色々あると思いますが、私なら Java アプレットとサーバ側にそれに対応するサーバ側のプログラムで作ると思います。 サーバ側のプログラムはTCPのソケットをLISTENモードで待機していて、Javaアプレットからそこに接続して、双方向通信をするのが一番簡単だと思います。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

> ブラウザでabcと入力し、 どこにどうやって? > 送信ボタンを押すと 送信ボタンとは? > 使ってる言語はC言語です。 C言語をどこにどんな風に使っているのでしょうか? ブラウザをC言語で作っているということでしょうか? さっぱり分かりません。

noname#77475
質問者

補足

まず、C言語で static int start_cgi(struct nt_httpd_t *httpd_t) { static int abc[24]; int i; header_put (httpd_t); for(i = 0; i < httpd_t->header.entry_num; i++) { if (httpd_t->header.entry[i].name == NULL) continue; if (strcmp (httpd_t->header.entry[i].name, "abc") == 0) strcpy(abc,httpd_t->header.entry[i].name); } printf("%s\n", abc);   return footer_put (httpd_t); } と書きます。 そしてhtmlでは、 <DIV ALIGN=Center> <FORM action="start_cgi" method="post"> <FONT color="#0000FF"><B>文字列送信テスト</B></FONT> <input type="radio" name="abc" value="<!--#ECHO FORMAT="%s" VAR="SMTP_FROM"-->"> <INPUT type="submit" name="send" value="送信"> </FORM> </DIV> と書いて、ラジオボタンを選択し、送信ボタンを押すと、 クロスケーブルで繋いでいるもう片方のPCに、 文字列abcがハイパーターミナルを起動したときに出力されます。 ブラウザはhtmlで作成し、cgiはC言語で作成しました。

関連するQ&A