
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ランキング
-
C# シリアル通信でデータ受信...
-
Linuxでのシリアル通信について...
-
recv関数の受信結果について
-
「スイッチングハブのバッファ...
-
winsockでソケット通信の開発を...
-
SerialPortのDataReceivedイベ...
-
ReadFile(GPSとの通信)Win7で...
-
シリアルポート通信
-
ClearCommError呼び出し時のCE_...
-
socket: recvはいつ,どれだけ...
-
TCPでの非同期型select関数につ...
-
write関数でEAGAINのエラー発生...
-
Macターミナルで実行中のプログ...
-
TCP/IP通信時のサーバーからの受信
-
Excel(VBA)でSetTimer関数を使...
-
AIXでのプロセス使用メモリの最...
-
FOM出版の公認テキスト&問題集...
-
メッセージボックスのボタン名変更
-
powershell を使いカレントディ...
-
Windows上で、シグナル(SIGTERM...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C# シリアル通信でデータ受信...
-
winsockでソケット通信の開発を...
-
socket: recvはいつ,どれだけ...
-
「スイッチングハブのバッファ...
-
VB2005でWin32APIを用いてRS-23...
-
シリアル通信エラー
-
シリアル通信の出力バッファと...
-
バイナリデータ受信時のデータ順
-
WinsockAPIのrecvfromの受信デ...
-
SerialPortのDataReceivedイベ...
-
再現性の無いバグ
-
rs232cでの受信データ(mscomm)...
-
C#で通信処理。応答がない場合...
-
Linuxでのシリアル通信について...
-
WriteFile()でのデータ送信がで...
-
【CAsyncSocket::OnReceive()呼...
-
UDP処理のエラーについて
-
recv関数の受信結果について
-
ReadFile(GPSとの通信)Win7で...
-
VC++ HttpOpenRequest() 正し...
おすすめ情報