logo       

[ruby-list:42137] Re: RS232Cによるパソコン間の通信の不具合(質問): msg#00168

lang.ruby.japanese

Subject: [ruby-list:42137] Re: RS232Cによるパソコン間の通信の不具合(質問)

永井@知能.九工大です.

From: "U.Nakamura" <usa-bhNLnadBHJLJHuKqwHuiUngSJqDPrsil@xxxxxxxxxxxxxxxx>
Subject: [ruby-list:42135] Re: RS232Cによるパソコン間の通信の不具合(質問)
Date: Wed, 26 Apr 2006 12:38:10 +0900
Message-ID:
<20060426123423.66FB.USA-bhNLnadBHJLJHuKqwHuiUngSJqDPrsil@xxxxxxxxxxxxxxxx>
> In message "[ruby-list:42134] Re: RS232Cによるパソコン間の通信の不具合(質問)"
> on Apr.26,2006 12:31:50,
> <kimura.koichi-AMwPzFTG5Oh3+QwDJ9on6Q@xxxxxxxxxxxxxxxx> wrote:
> | ポートの設定を確認するのはもちろん必要とは思いますが、フローコントロール
> | というよりは、パイプの目詰まりと一緒でどっかのバッファにたまりっぱなしに
> | なっているような気がします。あるいはreadでブロックされてるとか。
> |
> | ちょっと検索した限りでは、WindowsAPIのレベル(CreateFile/ReadFile etc)で
> | COM1などのポートの読み書きはできるようですが、サンプルプログラムでは
> | 1byteずつ読み込みしてました。ここである程度のバイト数を一気読みするよう
> | になっているとバイト数が足りないときにブロックされるのではないかと思いま
> | す。
> | #間違ってたらごめんなさい
>
> それが正解かと思います。
>
> 要するに、IO#readを使うと内部的にバッファリングを行うために複
> 数バイト読み込みが行われてしまい、それでブロックしてしまう、
> ということのようです。
> # 実際はそんなには単純じゃないようでもありますが...

う〜む.そちらが正解なのですかねぇ...
PC1 と PC2 を入れ替えたときに症状が違うということだったので,
「バッファリングの問題なら,入れ替えたとしても同じ症状が
出るはずだろうしなぁ」と思ったんですが...

# 結局のところ,私には良く分かっていません.(^_^;
--
永井 秀利 (九工大 知能情報)

nagai-iKxUiVHJP4pSXnIrXG/8Ww@xxxxxxxxxxxxxxxx




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise