Pythonでソケットのところ勉強してるんですが、プログラムが実行されません。また仕組みがイマイチ理解できません。
クライアントのサーバー接続のところでエラーが発生します。ホストとポート番号は決まっているのでしょうか?よく127.0.0.1という番号を見かけますが基礎のところなので詳しく知りたいです。4096のところもよく分かりません。数字は決まっているのでしょうか?本ではホストのところはwww.google.comとなっており、ポートは80でした。
サイバーセキュリティプログラミングの本より
ソケットについて
Re: ソケットについて
ホストは自分が接続したい相手のアドレス(ドメインまたはIPアドレス)を指定します。
127.0.0.1はローカル(クライアントを実行しているコンピューター)に接続したい時に使います。
ポート番号は使いたいサービス(HTTP(ウェブ)やSMTP(メール送信)など)によってデフォルトのものが決まっています。
自分で適当なサーバーを立てる場合は、実験程度なら適当な数字を指定すればいいでしょう。
ただし、
・小さい(1023以下)ポート番号のサーバーはroot権限が無いと立てられないことがあります
・ポート番号は16ビットなので65535までです
・仕様上「勝手に使っていい」のは49152番以降のようです (ポート番号 - Wikipedia)
4096はこの呼び出しで受信する最大サイズですね。
18.1. socket — 低水準ネットワークインターフェイス — Python 3.6.4 ドキュメント
127.0.0.1はローカル(クライアントを実行しているコンピューター)に接続したい時に使います。
ポート番号は使いたいサービス(HTTP(ウェブ)やSMTP(メール送信)など)によってデフォルトのものが決まっています。
自分で適当なサーバーを立てる場合は、実験程度なら適当な数字を指定すればいいでしょう。
ただし、
・小さい(1023以下)ポート番号のサーバーはroot権限が無いと立てられないことがあります
・ポート番号は16ビットなので65535までです
・仕様上「勝手に使っていい」のは49152番以降のようです (ポート番号 - Wikipedia)
4096はこの呼び出しで受信する最大サイズですね。
18.1. socket — 低水準ネットワークインターフェイス — Python 3.6.4 ドキュメント
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)