• 締切済み

C言語でソケットを使った通信をやっているのですが、ファイル転送で…

C言語でwinsockを使いファイル転送をしたいのですが、 パケットでやりとりをしたいと考えています。 パケットの構成を調べたのですが、いろいろ細かくてよくわかりません。サーバーとクライアントのシーケンス図を書きたいのですが、どんな感じになるのですか。パケットとシーケンス図についてアドバイスお願いいたします。

みんなの回答

  • jjk65536
  • ベストアンサー率59% (66/111)
回答No.3

TCPの通信アプリをよく書く者です。 TCPのソケット通信では、TCPパケットの構成は気にする必要がありません。 =TCPヘッダの構成は気にする必要がありません。 普段仕事ではこんなノリでシーケンス図を描いてます。 (だいぶはしょってますが) ・クライアント       ・サーバ |             |ソケット作成 |ソケット作成       | |Connect          | |-------------|Accept |ファイルサイズ送信    | |-------------|サイズ受信 |ファイル送信       | |-------------|データ受信 |ソケット切断       |ソケット切断 TCPのSynとかAckを描いたシーケンス図は、TCPの解説本などに 任せてしまうものだと思っています。 上記の図で、たとえば自前実装の認証などがある場合、それは書きます。 あくまでTCP層のパケットは書かないのです。 # 上図ではサイズ送信も冗長ですが、雰囲気を出すために入れてみました。

zoo_k2940
質問者

お礼

丁寧な回答ありがとうございます。 書いていただいたシーケンス図を参考に 自分でも書いてみたいと思います。

  • tokichim
  • ベストアンサー率42% (88/205)
回答No.2

socket プログラミング でネットを検索してください。 多くはLinuxなどのUNIX系の例ですが、先人が作成されたサンプル例が見つかります。 ここでの一問一答で初心者さんに教えられるほど簡単な内容ではありませんので、まずそちらを見ることをお奨めします。 ただ、できればTCP/IPネットワーキングの知識の方を先に書籍などで得ておいたほうがいいかと思います。

zoo_k2940
質問者

お礼

アドバイスありがとうございます。 調べてみます。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>パケットでやりとりをしたいと考えています。 UDPですか? TCPの場合はストリームになりますので、「パケット」という概念は不要ですが。 TCP/IP以外を使う…ということでしょうか?

zoo_k2940
質問者

補足

TCPの場合なのですが… 初心者なので言葉足らずな質問ですみません。 引き続き関連事項のヒント・アドバイス等 よろしくお願いいたします。

関連するQ&A