68user's page 掲示板

Prev< No. 3274〜3282> Next  [最新発言に戻る] [過去ログ一覧]
No. 3274 # 68user 2003/07/04 (金) 14:20:25
>>3272 keijirou
curces に詳しくないので回答しなかったのですが、誰か知ってる人
いませんかねぇ。

>>3273 Been
> 以下の方法でインストールは可能でしょうか?
よさそうに見えますが、とりあえず make test、make -n install まで
試してみればいいんじゃないでしょうか。

てゆーか、一般的には DBI と DBD::Pg モジュールを使うことが
多いと思いますが、あえて Pg なのですか?

2000年で更新止まってるし、RDBS 取り換えたら書き直しだし、あまり
いいことはないと思います。

No. 3275 # kotaro 2003/07/05 (土) 12:02:52
はじめまして。kotaroと申します。
さっそくですが、質問をさせていただいてよろしいでしょうか。

C言語において、IPアドレスのみで通信を行うプログラムの作成は可能でしょうか。
socket関数を用いた場合は、
TCPやUDPのトランスポート層の通信になると思いますが、
トランスポート層のプロトコルを解釈せずにIPヘッダーのみで通信を行う、
ルーティングのような機能を実現したいと思っています。
(ネットワークカードは2枚使用し、IPパケットを通過させる仕組み)

突然の質問で申し訳ありませんがよろしくお願いします。

No. 3276 # 68user 2003/07/05 (土) 13:13:21
>>3275 kotaro
> IPアドレスのみで通信を行う
IP (インターネットプロトコル) のみで通信を行う、という
ことでしょうか。

UNIX なら可能です。Windows なら XP からですね。「raw socket」
などで検索してみてください。

No. 3277 # kotaro 2003/07/06 (日) 21:44:53
ありがとうございます。

socket関数にrawIPを使う機能がありました。
この機能を使えば、raw(生)のIPデータグラムを扱えるので
IPヘッダ以外にもTCPやUDPヘッダも自由に付けることができそうです。

No. 3278 # keijirou 2003/07/07 (月) 10:20:46
No3272 で質問させて頂いた者です。同環境でもう1つ質問させてください。
printfで画面出力した文字を、カーソルを文字の先頭に移動させて、再度取得する方法は?
カーソルの移動はエスケープシーケンスで行っています。
cursesを利用すれば表示した文字を再度取得することは可能なのですが、エスケープシーケンスを標準出力する方法が判らないのでしかたなくprintfを使っているという状況です。
cursesでエスケープシーケンスを標準出力できればよいのですが。。。

printfの文字取得、もしくはcursesでのエスケープシーケンスの標準出力、
について情報お持ちの方、回答よろしくお願いします。

No. 3279 # 68user 2003/07/07 (月) 16:12:08
>>3278 keijirou
> printfで画面出力した文字を、カーソルを文字の先頭に移動させて、
> 再度取得する方法は?
原理的に無理でしょう。自分で出力した文字を覚えておくくらいしか
ない (≒curses の再実装) と思います。

> カーソルを文字の先頭に移動させて
これを curses で行えばよいだけのように見えますが、curses では
ダメな理由があったりしますか?

No. 3280 # keijirou 2003/07/07 (月) 18:28:22
>>3279 68user
早速の回答ありがとうございます。
printfの文字を再度取得することは無理なんですね。
実際にprintfで出力した文字の先頭に、cursesで移動して、文字取得を行ったところ、何も取得できませんでした。
おそらく、cursesが持っているバッファからデータを持って来るようなので、printfの文字は取得されないものと思われます。

扱うデータがエスケープシーケンス入りのデータなので、printfがそのまま使えれば、解析せずに済むかと思い、質問させて頂きました。
また、画面に表示した文字のハードコピーを印刷するのにprintfの文字を再取得しようと考えてました。

もし、なにかよい方法がありましたら、またよろしくお願い致します。

No. 3281 # 68user 2003/07/09 (水) 21:49:39
>>3280 keijirou
> printfの文字を再度取得することは無理なんですね。
そうですね。stdio ライブラリは出力した文字を覚えていませんし、
kterm などの端末エミュレータも受け取った文字を覚えていません
ので。

# もし端末エミュレータが覚えていたとしても、アプリが
# 端末エミュレータに文字を問い合わせるような仕組みがない。

> 扱うデータがエスケープシーケンス入りのデータなので
もし curses がそのようなデータを扱えるとしたら、
      1. curses が出力するデータの中身を解析し、エスケープシーケンス取得。
      2. 環境変数 TERM を見て、エスケープシーケンスがその端末でどのような
            挙動をするのかを調べる。
      3. エスケープシーケンスを出力する代わりに、curses のライブラリを叩く。
という機能を持ってないといけないでしょうが、多分そのような
機能はないと思います。

データがエスケープシーケンス入りと言っても、ごく限られた
数種類程度のエスケープシーケンスではないですか?

もしそうであれば、自前でデータを解析し、エスケープシーケンスを
出力する代わりに curses のライブラリ関数を呼ぶ、ってのが簡単
そうな気がします。

No. 3282 # ゆう 2003/07/10 (木) 12:04:13
muleで韓国語を入力したまではよかったのですが・・・
印刷しようとすると化けてしまいます。
コマンドを教えてください。

p.s 「any2ps hangul.tex | lpr -Pstd1pr1」を試してみましたが、
            結果は、m2ps: Invalid argument: hangul.tex でした・・・。

Prev< No. 3274〜3282> Next  [最新発言に戻る] [過去ログ一覧]