- 締切済み
C言語でソケットを使った通信をやっているのですが、ファイル転送で…
C言語でwinsockを使いファイル転送をしたいのですが、 パケットでやりとりをしたいと考えています。 パケットの構成を調べたのですが、いろいろ細かくてよくわかりません。サーバーとクライアントのシーケンス図を書きたいのですが、どんな感じになるのですか。パケットとシーケンス図についてアドバイスお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- jjk65536
- ベストアンサー率59% (66/111)
TCPの通信アプリをよく書く者です。 TCPのソケット通信では、TCPパケットの構成は気にする必要がありません。 =TCPヘッダの構成は気にする必要がありません。 普段仕事ではこんなノリでシーケンス図を描いてます。 (だいぶはしょってますが) ・クライアント ・サーバ | |ソケット作成 |ソケット作成 | |Connect | |-------------|Accept |ファイルサイズ送信 | |-------------|サイズ受信 |ファイル送信 | |-------------|データ受信 |ソケット切断 |ソケット切断 TCPのSynとかAckを描いたシーケンス図は、TCPの解説本などに 任せてしまうものだと思っています。 上記の図で、たとえば自前実装の認証などがある場合、それは書きます。 あくまでTCP層のパケットは書かないのです。 # 上図ではサイズ送信も冗長ですが、雰囲気を出すために入れてみました。
- tokichim
- ベストアンサー率42% (88/205)
socket プログラミング でネットを検索してください。 多くはLinuxなどのUNIX系の例ですが、先人が作成されたサンプル例が見つかります。 ここでの一問一答で初心者さんに教えられるほど簡単な内容ではありませんので、まずそちらを見ることをお奨めします。 ただ、できればTCP/IPネットワーキングの知識の方を先に書籍などで得ておいたほうがいいかと思います。
お礼
アドバイスありがとうございます。 調べてみます。
- Wr5
- ベストアンサー率53% (2173/4061)
>パケットでやりとりをしたいと考えています。 UDPですか? TCPの場合はストリームになりますので、「パケット」という概念は不要ですが。 TCP/IP以外を使う…ということでしょうか?
補足
TCPの場合なのですが… 初心者なので言葉足らずな質問ですみません。 引き続き関連事項のヒント・アドバイス等 よろしくお願いいたします。
お礼
丁寧な回答ありがとうございます。 書いていただいたシーケンス図を参考に 自分でも書いてみたいと思います。