- ベストアンサー
PC間の高速通信
- PC間で音声データの送受信を行う方法について
- USB経由でのデータ送受信に関する問題と解決方法
- LAN端子を利用したPC間のデータ送受信について
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
再び#1です ソケット通信はTCP/IPを使用して通信しますので、速度てきには十分な速度がでるかと ※USBでできないとの記載がありましたが、USBでの相互通信ケーブルも販売されてますよ、でもこちらはソフトが組めないので手動で転送となります ソケットの話に戻して、ポートとIPアドレスを指定して相手とコネクトし、あとはsendを繰り返すだけなので、ソフトが組める方なら、確実で簡単です。 また、参考URL以外にもソケット通信でググるとたくさんのサンプルソフトが公開されているので、用途や完成度を見てお好きなものが使えますよ。
その他の回答 (5)
- lv4u
- ベストアンサー率27% (1862/6715)
No2です。 >>>あるいは、ネットを丹念に探せば、どこかに参考になるソースがあるかもしれませんね。 探しているのですが見つからず、質問しています。 何かご存知なら、よろしくお願いします。 「あるかもしれませんね。」と書いたように、私もネット上で雛形となるようなソースを探し出すことはできませんでした。 やや高価ですけど書籍「詳解TCP/IP(ピアソンエデュケーション)」の掲載ソースと解説を参考にして作成しました。 他の安いTCP/IP関連の書籍は知りたい部分の記載が無く、あまり役に立ちませんでした。
お礼
再度の回答、ありがとうございます。 USBならアイソクロナス転送、LAN端子ならUDP転送が希望ですが、まずはTCP/IPでの接続の方向で検討したいと思います。 >やや高価ですけど書籍「詳解TCP/IP(ピアソンエデュケーション)」の掲載ソースと解説を参考にして作成しました。 >他の安いTCP/IP関連の書籍は知りたい部分の記載が無く、あまり役に立ちませんでした。 貴重な経験談、感謝です。
- mrkato
- ベストアンサー率47% (1008/2121)
USBで直結ができず、イーサネットで結合させると思いますが。 パソコンの上には「USBホストコントロ-ラ」が利用されていますが、 PCを直結した場合、両者ともホストとして制御していると思われます。 Linuxドライバだと、ホストコントローラを「ターゲットモード」という、 子機側の応答をさせて活用できるかも、と過去質問にはあります。 http://okwave.jp/qa/q5141138.html WinVista/7で「転送ツール」ユーザー設定などの移行機能については、 USBホスト同士を対向接続する回路付きケーブルを用いるとされていて、 http://windows.microsoft.com/ja-JP/windows7/transferring-files-and-settings-frequently-asked-questions http://ascii.jp/elem/000/000/126/126635/ (現行品だとシステムトークスのSUGOICABLEなど。アプリやオートランが 仕込まれているので、別個にツールを使うというケースは聞かない) OS自体が直結利用をカバーしていないと思われます。 その為、転送ケーブルの確保よりもLANのピア接続なりハブ接続で結合し、 OS実装済みの機能で確実に通信させる事にしてが、作りやすいはずです。 追伸、スマートフォンで現存らしいUSB OnTheGo(ターゲット・ホスト兼用) のドライバメーカー解説。ただしスマートフォン時代より前に書かれたまま http://www.uquest.co.jp/embedded/3minutes/3otg.html
お礼
回答ありがとうございます。 >その為、転送ケーブルの確保よりもLANのピア接続なりハブ接続で結合し、 >OS実装済みの機能で確実に通信させる事にしてが、作りやすいはずです。 どなたかどこかで作っていないのでしょうかね。 質問にも書きましたが、 接続方法やドライバ、アプリからのアクセス方法の具体例、 有償でも入手したいです。 参考にさせていただきます。
- Tacosan
- ベストアンサー率23% (3656/15482)
プログラムの話には入りませんが, そもそも「PC 同士を USB ケーブルで直結」することはできません. USB では (PC に組み込まれた) ルートハブがすべてのデバイスを制御します. なので, PC同士を USB で直結すると互いに相手を制御しようとしてしまいまともに通信することができなくなってしまいます. 「2台の PC を直接つなぐ USBケーブルがある」と思うかもしれませんが, これは実際には「途中にあるデバイスを 2台の PC につないでいる」だけであって, 本当に直結しているわけではありません. 逆に言えば「そ~いうデバイスを作ればいい」ということにはなりますが.... まあ, 面倒っぽいので素直に LAN に逃げた方がよいかと.
お礼
回答ありがとうございます。 >そもそも「PC 同士を USB ケーブルで直結」することはできません. 存じております。ですから、 「使えそうな有償のソフトや装置での解決策も歓迎です」 と質問しています。 よろしくお願いします。
- lv4u
- ベストアンサー率27% (1862/6715)
>>送受信したいアプリプログラムはC#で、送受信すべきデータがあれば、送受信するといった簡単なものです。必要なら、Cで書き直しても構いません。 昔、C言語で、TCP/IPを使ってお互いにデータ通信をするプログラムを作成したことがありますが、完成までに、かなり時間がかかった覚えがあります。 基本的には、送受信バッファを用意しておき、そこにデータがあれば、ソケット通信でデータの送信、受信を実行する処理をスレッドで実行するものでした。 速度要求も厳しいので、まともに動作するのか?って最後までわからない状況でしたね。 なお、Linux環境ですといいのですが、Windows環境では、ソケット通信のAPIに制限があり、いろいろと資料を調べることになりました。 特注ハードだったので、ハードバグ、ドライバのバグもあったりしました。 書店で売られているTCP/IP関係のやや高価な本には、参考となるソースが掲載されていたと思います。 あるいは、ネットを丹念に探せば、どこかに参考になるソースがあるかもしれませんね。 頑張ってください。
お礼
回答ありがとうございます。 >あるいは、ネットを丹念に探せば、どこかに参考になるソースがあるかもしれませんね。 探しているのですが見つからず、質問しています。 何かご存知なら、よろしくお願いします。
- usami33
- ベストアンサー率36% (808/2210)
ソケットって知ってますか? 下記で参考コードありで説明していますので、ご自分でくんでみてください。
お礼
回答ありがとうございます。 ソケット、聞いたことあります。usami33さんの言葉で言えば、私の質問は、 USBあるいはLANの端子を使って ソケットが使える状態に持ってゆく具体的方法 ご教示お願いします、になりますね。 更なる回答、よろしくお願いします。
お礼
再度の回答、ありがとうございます。 USBで繋げる方がうれしいですが、 >※USBでできないとの記載がありましたが、USBでの相互通信ケーブルも >販売されてますよ、でもこちらはソフトが組めないので手動で転送となります とのことですので、今回はTCP/IPで検討したいと思います。 TCPである必要もなくUDPで十分、欠損データはどしどし捨ててでもリアルタイム性が重要なので、逆にUDPのほうが適していると思いますが、まずはTCPでつなげてから、UDPへの変更を考えようと思います。 また有用なWEBページを教示くださりありがとうございます。 参考にさせていただきます。