|
[ruby-list:42139] Re: RS232Cによるパソコン間の通信の不具合(質問): msg#00170lang.ruby.japanese
こんにちは、なかむら(う)です。 In message "[ruby-list:42138] Re: RS232Cによるパソコン間の通信の不具合(質問)" on Apr.26,2006 17:55:43, <yahatah-vBG97VH5NlJ18gpoEprZGc8NsWr+9BEh@xxxxxxxxxxxxxxxx> wrote: | <というわけで、プラットフォームが不明なのでmswin32版であると決 | <め打ちして回答してしまうと、受信側スクリプトの | < c = port.read(1) | <という部分を | < c = port.sysread(1) | <とすれば正常に動作すると思われます。 | | 最初に述べたように、PC2からPC1へと送信したのですが、動きません。再現で | きなかったのです。 | そこで、c = port.sysread(1)に変更すると、以前と同じように動きました。しか c = port.sysread(1) で、PC1とPC2のどちらを受信側にしても、と りあえず動くんですよね? | し、結果は、問題点1で述べたように、「PC2を再実行し、再度送信すると、最初 | の実行による50個のデータを受信後、8個の途中まで受信する。 反応が中途半端 | である。」となります。例示したスクリプト通りに、送信文字を変更した場合、 | PC1で受信した結果は、途中を省力しますが、以下のとおりでした。 | 1==> xyz | 2==> xyz | 3==> xyz | ・・・・・ | 45==> xyz | 46==> xyz | 47 | 結局は、PC1が、PC2から送信された500文字(正確には499文字)を全て受け取っ | てから、PC1は、画面上に表示を開始しました。 これは、書いた通りに動いているわけで、問題だと思っていません でした。 | すなわち、1文字ずつ逐一printがされるのではなく、まとめてprint処理され | ることがわかりました。ここは、理解しにくいところです。 | したがって、この簡単な方法では、具合が悪いことがわかりました。 これが嫌なら、適宜flushを入れればいいのではないかと。 それでは。 -- U.Nakamura <usa-bhNLnadBHJLJHuKqwHuiUngSJqDPrsil@xxxxxxxxxxxxxxxx>
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ruby-list:42138] Re: RS232Cによるパソコン間の通信の不具合(質問), Hisashi Yahata |
|---|---|
| Next by Date: | [ruby-list:42140] Re: RS232Cによるパソコン間の通信の不具合(質問), Hisashi Yahata |
| Previous by Thread: | [ruby-list:42138] Re: RS232Cによるパソコン間の通信の不具合(質問), Hisashi Yahata |
| Next by Thread: | [ruby-list:42140] Re: RS232Cによるパソコン間の通信の不具合(質問), Hisashi Yahata |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |