テクノロジー

ソケット通信、本当に理解していますか?? - Qiita

1: kenzy_n 2025/06/09 14:55

通信の仕様の基礎。

2: Gim 2025/06/09 15:05

ネットワーク処理は7層で構成されており、ipが3層、tcpが4層、ソケット通信は5層に位置づけられる。違った。

3: suka6411144 2025/06/09 15:28

ICMPのことは考えないのだろか

4: nakag0711 2025/06/09 15:39

ソケット通信の自前実装は想像以上に難しくてバグだらけになるからなるべく避けた方がいい

5: keidge 2025/06/09 15:48

昔はTCPやUDPのネットワークプログラムを書くなら避けては通れない知識だったけど、今は各言語で通信用ライブラリが充実しているし、そこまで意識する必要がなくなってしまったね。

6: ardarim 2025/06/09 16:47

この辺は昔穴が空くほど読み込んだ記憶。もう今はソケット通信で実装とかやりたくないけどね… http://www.kt.rim.or.jp/~ksk/wskfaq-ja/index.html

7: shoh8 2025/06/09 17:46

“Unixドメインソケットについて”この話出てきてよかった。先人の舗装により独自実装しないけど基礎知識としては必修

9: akinyon1121 2025/06/09 18:00

raw socketってのもありましたね

10: kshtn 2025/06/09 18:00

記事の内容はともかく、タイトルの意図が解んない

11: perl-o-pal 2025/06/09 18:43

下手な解説読むよりますマスタリングTCP/IP

12: devrabi 2025/06/09 19:17

「本当に理解していますか??」っという言い方で想像するのは、送受信バッファやブロッキング/非ブロッキングの動作を理解していないケースかな

13: sgo2 2025/06/09 19:19

PCでは既に成熟してるので触る事はほぼ無いけど、組込分野だと触る機会が有る。

14: bfoj 2025/06/09 19:42

自己満お勉強。下手な解説読むよりリチャードストールマン。rawソケットで、tcodump書こう!

15: electrolite 2025/06/09 20:35

うーん古老からすると薄いなあ。別に腐すわけじゃなくて、socketの暗号化がTLSとかレイヤ違いすぎだし、クライアントのbind()は不要な場合が多いだけでやる時はやるし、read()はリトライ必須だし本当に書いたことなさそう

16: manimoto 2025/06/09 20:40

ソケット通信を試しに実装して学習したい人には書籍「ふつうのLinuxプログラミング」おすすめ。自分はソケットというかファイルディスクリプタの概念に大変感動した。