|
[ruby-list:42135] Re: RS232Cによるパソコン間の通信の不具合(質問): msg#00166lang.ruby.japanese
こんにちは、なかむら(う)です。 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を使うと内部的にバッファリングを行うために複 数バイト読み込みが行われてしまい、それでブロックしてしまう、 ということのようです。 # 実際はそんなには単純じゃないようでもありますが... というわけで、プラットフォームが不明なのでmswin32版であると決 め打ちして回答してしまうと、受信側スクリプトの c = port.read(1) という部分を c = port.sysread(1) とすれば正常に動作すると思われます。 それでは。 -- U.Nakamura <usa-bhNLnadBHJLJHuKqwHuiUngSJqDPrsil@xxxxxxxxxxxxxxxx>
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ruby-list:42134] Re: RS232Cによるパソコン間の通信の不具合(質問), KIMURA Koichi |
|---|---|
| Next by Date: | [ruby-list:42136] Re: puts,printの出力をファイルにも出力するには, Nobuyoshi Nakada |
| Previous by Thread: | [ruby-list:42134] Re: RS232Cによるパソコン間の通信の不具合(質問), KIMURA Koichi |
| Next by Thread: | [ruby-list:42137] Re: RS232Cによるパソコン間の通信の不具合(質問), Hidetoshi NAGAI |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |