ホームページ バックエンド開発 Python チュートリアル Python でのソケット ネットワーク プログラミングの詳細な紹介 (例付き)

Python でのソケット ネットワーク プログラミングの詳細な紹介 (例付き)

Oct 13, 2018 pm 04:34 PM
python

この記事では、Python でのソケット ネットワーク プログラミングの詳細を紹介します (例とともに)。これには一定の参考価値があります。必要な友人は参照できます。お役に立てば幸いです。

#ネットワーク通信の 3 つの要素

  • IP

通信するときは、双方が電子メールを送信するときに相手の電子メール アドレスを知っている必要があるのと同じように、相手の身元を知っておく必要があります。インターネット上のすべてのコンピュータの一意の識別子は、123.123.123.123 のような IP アドレスです。

IP アドレスは実際には 32 ビットの整数 (IPv4 と呼ばれます) です。192.168.0.1 などの文字列で表される IP アドレスは、実際には 8 ビットごとにグループ化された 32 ビットの整数です。目的は、読み取りを容易にすることです。 . .

IPv6 アドレスは実際には 128 ビットの整数であり、現在使用されている IPv4 のアップグレードされたバージョンであり、文字列で表されます。 2001:0db8:85a3:0042:1000:8a2e:0370:7334 に似ています。

  • ポート port

2 台のコンピュータが通信する場合、IP アドレスを送信するだけでは十分ではありません。同じコンピュータ、ネットワーク プログラム。 IP パケットが到着した後、それがブラウザに渡されるか QQ に渡されるかを区別するためにポート番号が必要です。

各ネットワーク プログラムは、オペレーティング システムからの一意のポート番号を申請します。このように、2 つのプロセスは、2 台のコンピュータ間のネットワーク接続を確立するために、独自の IP アドレスとそれぞれのポート番号を必要とします。


  • TCP/UDP プロトコル

世界中のさまざまな種類のコンピュータを接続するために、世界的に受け入れられている A のセットプロトコル、誰もがインターネット プロトコルを TCP/IP プロトコルと呼んでいます。

ソケット プログラミング

ソケットは、ネットワーク プログラミングの抽象的な概念です。通常、ソケットは「ネットワーク リンクを開く」という意味で使用されます。ソケットを開くには、ターゲット コンピューターの IP アドレスとポート番号を知ってから、プロトコルの種類を指定する必要があります。

import socket
# socket.gethostname()当不传入参数时,返回本机主机名
print(socket.gethostname()) #DESKTOP-EN0LQJH

#域名(英语:Domain Name),简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称
#通过域名查找服务器IP地址
print(socket.gethostbyname('www.baidu.com'))    #119.75.216.20

#通过一个IPv4的地址来获取主机信息
print(socket.gethostbyaddr('114.114.114.114'))

#通过IP/port组合,访问服务器信息
# 如果是AF_INET则格式为:(address, port),如果为AF_INET6,则返回(address, port, flow info, scope id)

print(socket.getaddrinfo('www.xunlei.com',80))
ログイン後にコピー

Python でのソケット ネットワーク プログラミングの詳細な紹介 (例付き)

ソケットを使用して単純な Web サーバーを実装する

import socket
def reply_info(socketObj):
    # socketObj.send('ok')
    with open('hello.html') as f:
        socketObj.send(f.read().encode('utf-8'))
if __name__=="__main__":
    #1. 创建socket对象
    socket_server = socket.socket()
    #2. 绑定IP和端口
    socket_server.bind(('192.168.1.165',9999))
    print("服务器端已经启动9999端口......")
    #3. 监听是否有客户端连接
    socket_server.listen(5)

    while True:
        # 4. 接受客户端的连接
        socket_client,address = socket_server.accept()
        # 5. 接收客户端发来的信息
        data = socket_client.recv(1024)
        # 6. 与客户端进行交互, 返回给客户端信息
        reply_info(socket_server)
        socket_server.close()
ログイン後にコピー

以上がPython でのソケット ネットワーク プログラミングの詳細な紹介 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Deepseek Xiaomiをダウンロードする方法 Deepseek Xiaomiをダウンロードする方法 Feb 19, 2025 pm 05:27 PM

Deepseek Xiaomiをダウンロードする方法は? Xiaomi App Storeで「Deepseek」を検索します。ニーズ(検索ファイル、データ分析)を特定し、DeepSeek関数を含む対応するツール(ファイルマネージャー、データ分析ソフトウェアなど)を見つけます。

どうやって彼にdeepseekに尋ねますか どうやって彼にdeepseekに尋ねますか Feb 19, 2025 pm 04:42 PM

DeepSeekを効果的に使用する鍵は、質問を明確にすることです。質問を直接および具体的に表現してください。特定の詳細と背景情報を提供します。複雑な問い合わせのために、複数の角度と反論の意見が含まれています。コードのパフォーマンスボトルネックなどの特定の側面に焦点を当てます。あなたが得る答えについて批判的な考えを維持し、あなたの専門知識に基づいて判断を下します。

DeepSeekを検索する方法 DeepSeekを検索する方法 Feb 19, 2025 pm 05:18 PM

DeepSeekに付属する検索機能を使用するだけです。ただし、不人気で最新の情報または考慮する必要がある検索の場合、キーワードを調整したり、より具体的な説明を使用したり、他のリアルタイム情報源と組み合わせたり、DeepSeekが必要なツールであることを理解する必要があります。アクティブで明確で洗練された検索戦略。

DeepSeekをプログラムする方法 DeepSeekをプログラムする方法 Feb 19, 2025 pm 05:36 PM

DeepSeekはプログラミング言語ではなく、深い検索の概念です。 DeepSeekの実装には、既存の言語に基づいて選択が必要です。さまざまなアプリケーションシナリオでは、適切な言語とアルゴリズムを選択し、機械学習技術を組み合わせる必要があります。コードの品質、保守性、テストが重要です。適切なプログラミング言語、アルゴリズム、ツールをお客様のニーズに応じて選択し、高品質のコードを作成することにより、DeepSeekを正常に実装できます。

DeepSeekを使用してアカウントを解決する方法 DeepSeekを使用してアカウントを解決する方法 Feb 19, 2025 pm 04:36 PM

質問:DeepSeekは会計に利用できますか?回答:いいえ、それは財務データの分析に使用できるデータマイニングおよび分析ツールですが、会計レコードと会計ソフトウェアの生成機能をレポートしていません。 DeepSeekを使用して財務データを分析するには、データ構造、アルゴリズム、DeepSeek APIの知識を持つデータを処理するためにコードを作成する必要があります。

Deepseekapiにアクセスする方法-Deepseekapiアクセスコールチュートリアル Deepseekapiにアクセスする方法-Deepseekapiアクセスコールチュートリアル Mar 12, 2025 pm 12:24 PM

Deepseekapiアクセスと電話の詳細な説明:クイックスタートガイドこの記事では、Deepseekapiにアクセスして呼び出す方法を詳しく説明し、強力なAIモデルを簡単に使用するのに役立ちます。ステップ1:APIキーを取得して、DeepSeekの公式Webサイトにアクセスし、右上隅の「オープンプラットフォーム」をクリックします。一定数の無料トークン(API使用量を測定するために使用)が得られます。左側のメニューで、[apikeys]をクリックし、[Apikeyの作成]をクリックします。 Apikey(たとえば、「テスト」)に名前を付け、生成されたキーをすぐにコピーします。このキーは一度しか表示されないため、必ず適切に保存してください

Pi Coinのメジャーアップデート:Pi Bankが来ています! Pi Coinのメジャーアップデート:Pi Bankが来ています! Mar 03, 2025 pm 06:18 PM

Pinetworkは、革新的なモバイルバンキングプラットフォームであるPibankを立ち上げようとしています! Pinetworkは本日、Pibankと呼ばれるElmahrosa(Face)Pimisrbankのメジャーアップデートをリリースしました。これは、従来の銀行サービスと、フィアット通貨の原子交換と暗号通貨の原子交換を実現します(resuptocursisを使用するなど、聖職者のような聖職者など、 DC)。ピバンクの魅力は何ですか?見つけましょう!ピバンクの主な機能:銀行口座と暗号通貨資産のワンストップ管理。リアルタイムトランザクションをサポートし、生​​物種を採用します

現在の AI スライシング ツールは何ですか? 現在の AI スライシング ツールは何ですか? Nov 29, 2024 am 10:40 AM

一般的な AI スライス ツールをいくつか紹介します。 TensorFlow DataSetPyTorch DataLoaderDaskCuPyscikit-imageOpenCVKeras ImageDataGenerator

See all articles