0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ソケットって何? 

Posted at

皆さま、こんにちは! 今、独学でサーバについて勉強しています!

突然ですが、「ソケットって何? ストリームって何? 結局どういうことなの?」 ってなっていませんか?

まさしく今の私です、、笑 自分なりに簡単にまとめて将来見返せる記事にしたいと思い、今回書きました!

1. クライアントとサーバの関係をおさらい

まずは、クライアントとサーバの関係を整理します。

  • クライアント: サービスを「お願い」する側(例:Webブラウザ)
  • サーバ: サービスを「提供」する側(例:Webサイト)

クライアントがサーバに「〇〇が見たい!」とお願いすると、サーバは「はいよ!」とデータを返す。これが基本的な流れになります。

2. 「パイプ」と「ソケット」の違いをイメージで理解!

  • パイプ: 一方向の通信路(クライアント → サーバ)

    • 例:手紙をポストに入れる(一方通行)
  • ソケット: 双方向の通信路(クライアント ⇆ サーバ)

    • 例:電話で会話する(双方向)

「1つの接続でデータの送信と受信を行いたい場合にソケットを使用する」

まさに電話と同じで、ソケットを使えば、クライアントとサーバがリアルタイムで、双方向にデータをやり取りすることができます。

3. ストリームって何? データの流れをイメージ化!

ソケットの説明で出てくる「ストリーム」。これもよくわかりません。。笑

  • ストリーム: クライアントとサーバの間で確立された、信頼性のある連続的なデータの流れ

    • 例:川の流れのように、途切れることなくデータが流れていくイメージ

4. なぜソケットが必要なの? 具体例で理解!

ソケットは、クライアントとサーバがリアルタイムで、双方向にデータをやり取りする必要がある場合に必須です。

  • オンラインゲーム: プレイヤーの動きをリアルタイムでサーバに伝え、他のプレイヤーの動きをサーバから受け取る
  • チャットアプリ: メッセージをリアルタイムで相手に送り、相手からのメッセージをリアルタイムで受け取る
  • Webサーバ: クライアントからのリクエストに応じて、Webページや画像などのデータを送信する

5. ソケット通信の仕組みをざっくり解説!

  1. ソケットの作成: クライアントとサーバがそれぞれソケットを作成
  2. 接続: クライアントがサーバのソケットに接続を要求
  3. データ送受信: 接続が確立したら、ストリームを通じてデータを送受信
  4. 接続終了: データ送受信が終わったら、接続を終了

6. まとめ:ソケットは双方向通信の要!

ソケットは、クライアントとサーバがリアルタイムでデータをやり取りするための、非常に重要な技術になります。

次回はソケットの種類について書こうと思います!

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?