68user's page 掲示板

Prev< No. 1582〜1598> Next  [最新発言に戻る] [過去ログ一覧]
No. 1582 # たろ 2001/01/17 (水) 13:16:57
>>1579 68user
お返事ありがとうございます。
>「mimeまたは、プレーンテキスト」とか「mimeのときにテキストが
> なければ」とかの条件がよく理解できませんでしたが、とりあえず
マルチパートかシングルパートか、でした。失礼しました。
マルチパートで最初のテキストタイプの箇所に文言を追加したいと
思っています。
マルチパートで、文書がないときには、テキストパートを追加します。
ネットワークの知識が少ないのが悲しいところです。

No. 1583 # たろ 2001/01/17 (水) 13:18:45
>>1582 たろ
>ネットワークの知識が少ないのが悲しいところです。
誤解を招くかもしれないので、補足します。もちろん自分のことです。

No. 1584 # arche 2001/01/17 (水) 13:54:46
はじめまして。
突然何? という感じかもしれませんが、このサイトは非常にすばらしいと思います。
自分はPerl屋なのですが、ここほど為になるサイトは今まで見たことがありません。
HTTPクライアントは特に参考になりました。
ありがとうございます。
すばらしい情報が得られる貴重なサイトですね。

あまりの感動につい書き込んでしまいました。
掲示板の趣旨に反していましたら、お詫び致します。

No. 1585 # E田 2001/01/17 (水) 15:26:56
みなさん、回答をありがとうございます。
やってみて、うまく格納できているみたいです。
今は、read()の方をうまくできていないので、ちゃんと
受け取りの構造体に格納できないので、これからなんとか
受け取り側で見れるようにします。
でも、うまくCを書けていなかったのがわかりました。
本当にありがとうございました。

No. 1586 # YAGI [E-mail] 2001/01/17 (水) 17:45:54
以前は、uptimeの質問に対してレスありがとうございました
また、質問があるのですが、
現在サーバ間(UNIX/AIX)でNISの設定をしようとしています。
今回、NISを設定してあるもののバージョンを上げるために、一度NISの設定
を解除して、バージョンをあげて、再設定しようと思っています。
一度試しで行なって見たのですが、Clientのほうで、Server側でマップを更新した後に、ログインができなくなってしまったのです。
(whoamiコマンドで反応がなくなってしまいます)
それで、一度NISを外しまして、再設定を行なった際に、
マップの更新後に、stopsrc -s ypbind
startsrc -s ypbind -a "ypsetme"
ypset (ServerのIPアドレス)
を行なったところ、無事に設定する事が出来ました。

ここで、質問なのですが、今度違う場所で同じ作業があるのですが、
マップ更新後に、whoamiコマンドで行けるか確認して
stopsrc…などのコマンドを打って設定する他にいい方法があるのでしょうか?

私的にはNISの解除の方法がおかしいのかなと思っています。
(1./etc/passwdを戻す、2.smitでNISを解除する)

よろしければ、皆様のご意見を頂きたく思います。
都合上レスが明日になるかもしれませんがよろしくお願い致します

No. 1587 # mak(spriggan [E-mail] 2001/01/17 (水) 18:52:58
初めまして。
現在UNIXでのSocket通信プログラムを書いているのですが
selectシステムコールとFD_ISSETマクロとの
関係がよくわからずにコードを書いていたところ
バグに悩まされています。

select()を使いタイマで割り込み動作を監視しながら
recv()で受信を行うというプログラムを書いています

FD_ZERO( &fdset );
FD_SET( m_Sockfd, &fdset );
while(recv_size != 0)
{
      work_fdset = fdset;

      ret = select( 64, &work_fdset, NULL, NULL, &time_out );

      if( ret == -1)
      {
            異常処理
      }
===============================
      割り込み監視
===============================
      
      if( FD_ISSET( m_Sockfd, &work_fdset ))
      {
            data_size = recv( m_Sockfd, (void*)(m_pData + m_DataSize))
      }

      m_DataSize += data_size;
      recv_size -= data_size;
}

ソースはだいたいこのような感じなのですが、
割り込み監視部分等でコネクションの切断
コネクションの再接続等を行っていると

select()の返り値は0でタイムアウトなのですが
FD_ISSET()マクロの方は返り値が真になってしまい
recv()の発行を行うけれども実際はデータはきておらず
recv()で処理がとまってしまい、割り込みの監視ができなくなって
しまうというようなバグが発生しています。
ならばselectとFD_ISSETの返り値が真である場合にのみ
recv()を発行すればよいと思うのですが
なぜこういうケースがでるのかわからなければ
信用し得る修正にならないので書きこみさせてもらいました。

過去ログなどを検索して調べてみましたが
自分なりのなっとくいく回答がえられませんでした。
よければこういうケースになる条件、回避方法等
お教えいただければと思います。

No. 1588 # mak(spriggan [E-mail] 2001/01/17 (水) 19:14:23
追記ですが、下記のプログラムは
1ポート1コネクションのプログラムです

No. 1589 # CoreFighter 2001/01/17 (水) 21:02:47
>>1553 CoreFighter
> CoreFighter さんへ。質問に対する回答をもらっても、
> 何の反応も示さないなら、質問するのはご遠慮下さい。
すいませんでした。以後気をつけます。

No. 1590 # mak(spriggan [E-mail] 2001/01/17 (水) 22:12:52
自己回答。先ほど質問を書きこんだものですが、
あれからいろいろサイトなどを再びまわって
間違いに気づきました。
お騒がせしました。
ようは
1ポート1コネクションなら
select()の第一引数に取得したソケット記述子+1を指定すれば
よかったんですね。

No. 1591 # 68user 2001/01/18 (木) 01:32:24
>>1590 mak(spriggan
> 1ポート1コネクションなら select()の第一引数に取得した
> ソケット記述子+1を指定すればよかったんですね。
ん〜、
    ret = select( 64, &work_fdset, NULL, NULL, &time_out );
であっても、事前に FD_ZERO(&fdset); FD_SET(m_Sockfd,&fdset);
してるんだから、select は m_Sockfd しかチェックしないと
思うんだけどなぁ…。

あと気になるのは、select が 0 を返したとき、FD_ISSET 得られる
値は有効な値なのかかどうか (select が 0 を返したときは FD_ISSET
してはいけないのではないか)、ってところですけど、どうなんでしょう。

>>1586 YAGI
> 現在サーバ間(UNIX/AIX)でNISの設定をしようとしています。
僕は NIS の設定をしたことがないので、ちょっとわかりません。

>>1582 たろ
> マルチパートかシングルパートか、でした。失礼しました。
なるほど。で、
>>700 68user
はどうでしたか。僕は multipart をばらすところまでしか
やってませんので、(必要かどうかわかりませんが) 編集後に
再構成できるのかはわかりません。
# まぁ、できなくはないと思いますけれど。

>>1584 arche
> 自分はPerl屋なのですが、ここほど為になるサイトは今まで
> 見たことがありません。
どもです。ですが、http://www.din.or.jp/~ohzaki/perl.htm くらい
役立つレベルになりたいものです。

No. 1592 # バス酔いで思わずコアダンプ 2001/01/18 (木) 05:15:41
変な名前ですいません。
SystemVと呼ばれるOSがあるそうなのですが、
'システムブイ'か、'システムファイブ'
どちらが正しい言い方なんでしょう?

No. 1593 # 68user 2001/01/18 (木) 09:08:12
>>1592 バス酔いで思わずコアダンプ
SystemIII の後継なので、システムファイブです。個人的には
話すときはシスブイと呼びますし、一応まわりには通じているようですが、
世間一般の人にシスブイと言ってわかってもらえるかは謎です。

# 検索すると http://www.system-v.org/ ってのが引っかかった。

No. 1594 # たろ 2001/01/18 (木) 11:38:15
>>1591 68user
>はどうでしたか。僕は multipart をばらすところまでしか
> やってませんので、(必要かどうかわかりませんが) 編集後に
> 再構成できるのかはわかりません。
どうもです。
MIME-TOOLSのexampleを見て、今手探り中です。
一度、multipart をばらして、対象のテキストパートから数えた行数を
取得後、multipartをばらしていない本文より行数を取ろうと思います。
ばらしたものよりの再構成は、(むずかしそうなので)とりあえず避けます。

No. 1595 # じゅじゅ [E-mail] 2001/01/18 (木) 15:09:55
今課題で、UNIXにApacheを入れ、フリーの掲示板をダウンロードして
とりつける課題をしています。
しかし、ウィンドウズで作られたperlのプログラムなので改行コード
の違いからか、エラーが出てInternal Server Error が出ます。
ダウンロードしたプログラムをperlで動かしてみても
Illegal character \015 (carriage return) at aska.cgi line 2.
(Maybe you didn't strip carriage returns after a network transfer?)
といった、エラーが出ます。どうしたらよいでしょう。

No. 1596 # クーロン 2001/01/18 (木) 17:16:12
cronを実行していたのですが、
マシンの時間を修正した後、cronが実行されなくなりました。
何が原因か、どうすれば実行するようになるのか、
どうか教えていただきたいです。

No. 1597 # クーロン 2001/01/18 (木) 17:20:53
cronを実行していたのですが、
マシンの時間を変更した後、
実行されなくなってしまいました。
どうしたらよいのでしょうか?

No. 1598 # 68user 2001/01/18 (木) 17:50:39
>>1595 じゅじゅ
> 今課題で、UNIXにApacheを入れ、フリーの掲示板を
> ダウンロードしてとりつける課題をしています。
最近どうして こんな変なのばっかりわいてくるんだろう。
マルチポストする人はさようなら。

>>1596 クーロン
> cronを実行していたのですが、
理由はわかりませんが、cron daemon を再起動するのがお手軽で
しょう。特にサーバマシンに言えますが、なるべく時刻は date や
ntpdate を使わず、xntpd などで設定しましょう。

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