68user's page 掲示板

Prev< No. 5046〜5068> Next  [最新発言に戻る] [過去ログ一覧]
No. 5047 # あきもと 2010/01/23 (土) 17:10:34
>>5042 zsh

ありがとうございます。
教えて頂いたところに書いてある方法で
上手くいきました。

No. 5048 # おう 2010/01/23 (土) 20:18:10
>>5042 zsh

ありがとうございます。
上手くいきました。

No. 5049 # ボンジー 2010/01/26 (火) 20:30:18
はじめまして。ボンジーと申します。ハッキングのやり方を教えてください。しーローとなもので

No. 5056 # Misaki [URL] [E-mail] 2010/02/14 (日) 21:05:38
いつもUNIXコマンドでお世話になっています。

画像変換のconvertコマンドについてお伺いしたいことがあります。

私は今、趣味でサイトを作っています。
画像アップロードした際にGIFからjpgに変換させる処理にconvertを使っているのですが、
ファイル名の拡張子は.jpgになっているのですが、バイナリエディタで開いて確認するとGIFファイルのままです。

convertはImageMagickダウンロードしてきて新規インストールしたものです。

このページではGIFからJPGへの画像変換を紹介されていたのですが、
私のところと同じような現象がおこっていませんでしょうか。
http://x68000.q-e-d.net/~68user/unix/pickup?keyword=convert&target=command

No. 5057 # 68user 2010/02/15 (月) 16:38:19
>>5056 Misaki
そういう事象は聞いたことがないですが、ありうることとしては
libjpeg のリンクがうまくいっていない、でしょうか (それにしても
エラーが出るのではないかと思うのですが)。

変換前後のファイルを file コマンドで調べても、やはり gif でしょうか?

No. 5059 # Misaki [E-mail] 2010/02/16 (火) 16:13:19
>> 5057
早速、回答ありがとうございます。
fileコマンドでgifかどうか判別できるんですね!
やってみたところGIFでした。

簡単に調べてみましたがlibjpegが上手く入っていなかったようです。
帰ったらもうちょっと詳しく調べてみます。

ldd結果
$/usr/bin/ldd /usr/local/bin/convert
                linux-gate.so.1 => (0x00110000)
                libMagickCore.so.3 => /usr/local/lib/libMagickCore.so.3 (0x00111000)
                libMagickWand.so.3 => /usr/local/lib/libMagickWand.so.3 (0x00427000)
                libz.so.1 => /usr/lib/libz.so.1 (0x0059a000)
                libpthread.so.0 => /lib/libpthread.so.0 (0x005af000)
                libdl.so.2 => /lib/libdl.so.2 (0x0056b000)
                libgomp.so.1 => /usr/lib/libgomp.so.1 (0x00523000)
                libm.so.6 => /lib/libm.so.6 (0x00571000)
                libc.so.6 => /lib/libc.so.6 (0x005c6000)
                /lib/ld-linux.so.2 (0x0040c000)
                librt.so.1 => /lib/librt.so.1 (0x0081e000)

No. 5060 # かばら 2010/02/16 (火) 22:18:08
初めまして。かばらと申します。
現在、マシン間のソケット通信に関して勉強中なのですが、connectシステム
コールについて質問させていただきいても宜しいでしょうか。

質問1
クライアント側から発行されるconnect()はサーバー側で発行されるaccept()の
ように処理をロックすることがあるのでしょうか。もしあるとすればどの
タイミングでコールした場合でしょうか。

質問2
サーバー側がlisten()をコールする以前にクライアント側でconnect()をコール
するとエラー(返却値-1)が起きますが、クライアントがサーバーの状態を監視し、
connect()をコールするタイミングを得ることは可能でしょうか。
(試しにselect()を使用してみましたが上手くいきませんでした。)

突然の不躾な質問で申し訳ございませんが、何卒ご教授くださいますよう
よろしくお願いいたします。

No. 5061 # 68user 2010/02/17 (水) 19:51:13
>>5059 Misaki
> 簡単に調べてみましたがlibjpegが上手く入っていなかったようです。
これはまたシンプルな convert ですね。ウチでは以下のとおりです。

/usr/local/bin/convert:
                libMagick.so.10 => /usr/local/lib/libMagick.so.10 (0x28073000)
                libWand.so.10 => /usr/local/lib/libWand.so.10 (0x283c7000)
                libjbig.so.1 => /usr/local/lib/libjbig.so.1 (0x28479000)
                liblcms.so.1 => /usr/local/lib/liblcms.so.1 (0x28484000)
                libtiff.so.4 => /usr/local/lib/libtiff.so.4 (0x284b1000)
                libjasper.so.4 => /usr/local/lib/libjasper.so.4 (0x284fe000)
                libjpeg.so.9 => /usr/local/lib/libjpeg.so.9 (0x28548000)
                libpng.so.5 => /usr/local/lib/libpng.so.5 (0x28566000)
                libfpx.so.1 => /usr/local/lib/libfpx.so.1 (0x2858b000)
                libdpstk.so.1 => /usr/X11R6/lib/libdpstk.so.1 (0x2862b000)
                libdps.so.1 => /usr/X11R6/lib/libdps.so.1 (0x28633000)
                libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x2867a000)
                libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x28689000)
                libbz2.so.1 => /usr/lib/libbz2.so.1 (0x286da000)
                libxml2.so.5 => /usr/local/lib/libxml2.so.5 (0x286e9000)
                libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28818000)
                libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 (0x28907000)
                libz.so.2 => /lib/libz.so.2 (0x28971000)
                libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x2897f000)
                libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x28988000)
                libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x2899f000)
                libm.so.2 => /lib/libm.so.2 (0x28a67000)
                libc.so.5 => /lib/libc.so.5 (0x28a80000)
                libstdc++.so.4 => /usr/lib/libstdc++.so.4 (0x28b5a000)

>>5060 かばら
> 質問1
> クライアント側から発行されるconnect()はサーバー側で発行されるaccept()の
> ように処理をロックすることがあるのでしょうか。もしあるとすればどの
> タイミングでコールした場合でしょうか。
「connect はブロックするか」(connect を発行した後、待たされることはあるか)
という趣旨でよいですかね。ざっと考えつくところは、
    1. 3way handshake が完了するまでブロックする
    2. サーバもしくはサーバ側ルータにて一切のレスポンスを返さない
          構成の場合、いつまでたっても返事がないので SYN を送り続け、ブロックする
    3. サーバ側で処理しているソケット数が SOMAXCONN を超えていた場合、
          滞留しているクライアントの処理が終わるか、タイムアウトになるまで
          ブロックする
    4. サーバ側が listen しているが accept していない場合、ブロックする
などなど。3・4 は記憶に頼って書いてますので、本当かどうかは自信がないです。

一方、ノンブロッキングソケットで connet すれば、ブロックしません。

> 質問2
> サーバー側がlisten()をコールする以前にクライアント側でconnect()をコール
> るとエラー(返却値-1)が起きますが、クライアントがサーバーの状態を監視し、
> connect()をコールするタイミングを得ることは可能でしょうか。
> (試しにselect()を使用してみましたが上手くいきませんでした。)
サーバ側で準備が整ったら通知がくるといった仕組みはないので、リトライ
し続けるしかないですね。

No. 5062 # Misaki 2010/02/18 (木) 12:41:07
お礼遅くなりました。

libjpegを入れて再インストールしたらちゃんと変換されました。
私ははgifの取り扱いに失敗しているものだと勘違いしていました。

迅速かつ的確な回答ありがとうございました。

No. 5063 # かばら 2010/02/18 (木) 22:32:12
ご回答ありがとうございます。
質問1、2共に納得です。

大変お世話になりました!

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