
No.2ベストアンサー
- 回答日時:
> read関数を何回も受信することになりますか?
> それとも一回だけread関数をじっこうすることによりできるのでしょうか?
知らんよそんなの。
少なくとも35msのうちに1024byte取り込まんならんのだけは確か。
相手側機器が用意できなくても
折り返しケーブルが用意できるなら、
「10秒ごとに190011Byte送信する」小さなアプリ作って
試せばいいやん。

No.3
- 回答日時:
普通はシリアルポートの読み書きをする関数なら、データを受信してそれが受信バッファに書き込まれた時にイベントが発生するので、そのイベントの処理の中で受信バッファを読みに行くわけでしょ?バッファサイズが1KBだから、一度に読み込めるデータは最大でも1KBと言うことになり、欲しいデータの190011Byteに対してバッファの方が小さい、すなわち受信イベントの処理は何度も発生することになります。
イベントが発生した時、受信バッファに入っているデータ量は1KB以下の不定な量(受信処理が十分に早ければバッファの半分も行かないはず)であり、読み取り関数で読むと実際に読めた量を教えてくれるか、違う関数でバッファに入ってるデータ量を調べ、その分だけ読み取り関数で引っ張ってくるか、まあその辺でしょう。そうやって必要なデータを複数回に分けて読み込みます。
もし読み取りが間に合わないと受信バッファオーバーフローで例外が発生するから、その場合は相手方に再送要求を送るなり、後続のデータ列を読み捨て続けるなりして、次に備えます。オーバーフローが頻発するんだったら受信バッファを大きくするか、処理を見直すか…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WriteFile()でのデータ送信がで...
-
メールを数日後に自動返信
-
ftplibのエラー処理
-
ReadFile(GPSとの通信)Win7で...
-
C# シリアル通信でデータ受信...
-
socket: recvはいつ,どれだけ...
-
バイナリデータ受信時のデータ順
-
ソケット通信内 read関数について
-
「スイッチングハブのバッファ...
-
Macターミナルで実行中のプログ...
-
VBSの処理中一旦処理を止めて再...
-
メモリのセグメント違反の解決...
-
Mac 乗数の入力方法
-
バックグラウンドのプロセスの...
-
イラストレーターCS4のシリアル...
-
家電製品の電力周波数を変える機械
-
指定したフォルダーを最前面表...
-
レジスタマップって何ですか?
-
vba GetAsyncKeyState関数について
-
タスクマネージャーのプロセス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C# シリアル通信でデータ受信...
-
「スイッチングハブのバッファ...
-
WriteFile()でのデータ送信がで...
-
socket: recvはいつ,どれだけ...
-
winsockでソケット通信の開発を...
-
RS-232Cでバイナリデータを受信...
-
SerialPortのDataReceivedイベ...
-
シリアル通信エラー
-
C#で通信処理。応答がない場合...
-
Linuxでのシリアル通信について...
-
シリアル通信の出力バッファと...
-
ReadFileについて
-
トラックバック機能を作りたい
-
バイナリデータ受信時のデータ順
-
ソケット通信内 read関数について
-
recv関数の受信結果について
-
ReadFile(GPSとの通信)Win7で...
-
visual c# 2010 シリアル通信ア...
-
popen実行時にバッファが空の場合
-
WinsockAPIのrecvfromの受信デ...
おすすめ情報