C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.9187 の関連記事表示

<< 0 >>
■9187  Re[3]: ソケット通信でサイズが0のデータを受信した場合について
□投稿者/ あら -(2006/12/14(Thu) 18:08:16)

    分類:[C#] 

    返信ありがとうございます。

    >ここっての判定で下に落ちてます・・・よね?^^:
    はい、落ちてます。
    ブレークポイントをおいて1つづつ移動させて確認しました。


    >・Socket.Pollで状態を確認
    >・Pollがtrueを返したらAvailableプロパティを見て判定
    >・Availableが0の場合 = 受信データなし
    >・Availableが0以上の場合 = Receiveメソッドでデータを受信
    >って感じだったはず。
    上記のやり方でコードを組んでみたのですが、同じ結果になりました。
    (サイズが0のデータを受信するとSocket.Pollから下に行きその後
    Sock.Available<0の条件に処理を入れない場合はSocket.Pollの判定
    →Socket.Availableの判定とループを回り続けます。

    Sock.Availableが0の時は相手側が切断したと考えるのが普通なの
    でしょうか?
    なにか他にSock.Availableが0になる条件があればご教授お願いします。
    (相手側(サーバ側)は切断はしていないらしいのです。。。)

    -------------
    ちょっと違う話なのですが、
    while(Socket.Connected)
    {
    if(Sock.Poll(1, SelectMode.SelectRead))
    {
    if(0 < Socket.Available)
    {
    // Receive処理
    }
    else
    {
    // 切断処理
    }
    }
    }
    とした場合、データが来るまでループを回り続けてアプリケーションが
    重くなるのですが、そういうものなのでしょうか?

    宜しくお願いします。

記事No.9044 のレス /0過去ログ8より / 関連記事表示
削除チェック/

■9187  Re[3]: ソケット通信でサイズが0のデータを受信した場合について
□投稿者/ あら -(2006/12/14(Thu) 18:08:16)

    分類:[C#] 

    返信ありがとうございます。

    >ここっての判定で下に落ちてます・・・よね?^^:
    はい、落ちてます。
    ブレークポイントをおいて1つづつ移動させて確認しました。


    >・Socket.Pollで状態を確認
    >・Pollがtrueを返したらAvailableプロパティを見て判定
    >・Availableが0の場合 = 受信データなし
    >・Availableが0以上の場合 = Receiveメソッドでデータを受信
    >って感じだったはず。
    上記のやり方でコードを組んでみたのですが、同じ結果になりました。
    (サイズが0のデータを受信するとSocket.Pollから下に行きその後
    Sock.Available<0の条件に処理を入れない場合はSocket.Pollの判定
    →Socket.Availableの判定とループを回り続けます。

    Sock.Availableが0の時は相手側が切断したと考えるのが普通なの
    でしょうか?
    なにか他にSock.Availableが0になる条件があればご教授お願いします。
    (相手側(サーバ側)は切断はしていないらしいのです。。。)

    -------------
    ちょっと違う話なのですが、
    while(Socket.Connected)
    {
    if(Sock.Poll(1, SelectMode.SelectRead))
    {
    if(0 < Socket.Available)
    {
    // Receive処理
    }
    else
    {
    // 切断処理
    }
    }
    }
    とした場合、データが来るまでループを回り続けてアプリケーションが
    重くなるのですが、そういうものなのでしょうか?

    宜しくお願いします。

記事No.9044 のレス /0過去ログ9より / 関連記事表示
削除チェック/

■9187  Re[1]: テーブルのソート
□投稿者/ ぽぴ王子 -(2007/10/20(Sat) 18:47:25)
>
    No9186 (hikaru さん) に返信
    
    > <事象>
    > NO 1、10、11、2、3、4、…
    > 私としては、
    > NO 1、2、3、4、…10、11
    > としたいのですが、どのようにしたらいいのでしょうか?
    > 文字としてソートしているようなんですが、数値としてソートしたいです。
    
    "NO" が文字項目として定義されているからそうなってしまうんでしょうね。
    根本から言えば、そうなってしまうのを数値項目にすればいいような気がします。
    どうやってテーブルに入れているのかはわかりませんが、例えばSQLで工夫するとか
    そもそものDBの項目が文字項目だったら数値項目に変更するとか。
    
    そういったことを一番に考えるべきではありますが、この条件で数値としてソート
    するのであれば、列を追加して数値に変換させるのが一番楽そうです。
    こんな感じで。
    
    lay_Table.Columns.Add("NOソート用", typeof(int), "Convert(NO, 'System.Int32')");
    dv = new DataView(lay_Table);
    dv.Sort = "NOソート用";
    foreach (DataRowView drv in dv)
    {
        dt.ImportRow(drv.Row);
    }
    
    ちなみにImportRowですが、C# 2.0であればDataView.ToTable()メソッドがあるので
    それを使うと楽です。
記事No.9186 のレス /過去ログ21より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -