Pythonでネットプログラミングを書く
2118 ワード
ソケットとは
ネットワーク上の2つのプログラムは、双方向の通信接続によってデータの交換を実現し、この接続の一端を1つのsocketと呼ぶ.いわゆるsocketは、IPアドレスとポートを記述するための「ソケットワード」とも呼ばれ、通信チェーンのハンドルである.アプリケーションは通常、「ソケット」を介してネットワークに要求または応答するネットワーク要求socketをUinxに起源するが、Unix/Linuxの基本哲学の一つは「すべてファイル」であり、「open->読み書きwrite/read->closeを閉じる」モードで操作することができ、socketはこのモードの実装であり、socketは特殊なファイルである.いくつかのsocket関数は、Socketの英語の元の意味が「穴」または「コンセント」である(IOの読み取り/書き込み、開く、閉じる)操作です.BSD UNIXのプロセス通信メカニズムとして,次の意味をとる.通常は「ソケット」とも呼ばれ、IPアドレスとポートを記述するために使用され、異なる仮想マシンまたは異なるコンピュータ間の通信を実現するために使用できる通信チェーンのハンドルである.インターネット上のホストでは、一般的に複数のサービスソフトウェアが実行され、いくつかのサービスが提供されています.各サービスはSocketを開き、異なるポートが異なるサービスに対応するポートにバインドされます.Socketは英語の原義のように多孔質コンセントのようです.1台のホストは各種のコンセントがいっぱいある部屋のようで、各コンセントには番号があり、あるコンセントは220ボルトの交流を提供し、あるコンセントは110ボルトの交流を提供し、あるコンセントはケーブルテレビ番組を提供している.お客様のソフトウェアは、異なる番号のコンセントにプラグを差し込むと、異なるサービスを受けることができます.
例えば、中国のモバイルカスタマーサービスはモバイルにとって、ずっと1つの番号10086を傍受して、電話が入ってきたら、1つのカスタマーサービスと顧客を割り当ててコミュニケーションして要求を処理します.ユーザーにとって、10086という番号を知っていて、電話をかける必要があります.
client
ネットワーク上の2つのプログラムは、双方向の通信接続によってデータの交換を実現し、この接続の一端を1つのsocketと呼ぶ.いわゆるsocketは、IPアドレスとポートを記述するための「ソケットワード」とも呼ばれ、通信チェーンのハンドルである.アプリケーションは通常、「ソケット」を介してネットワークに要求または応答するネットワーク要求socketをUinxに起源するが、Unix/Linuxの基本哲学の一つは「すべてファイル」であり、「open->読み書きwrite/read->closeを閉じる」モードで操作することができ、socketはこのモードの実装であり、socketは特殊なファイルである.いくつかのsocket関数は、Socketの英語の元の意味が「穴」または「コンセント」である(IOの読み取り/書き込み、開く、閉じる)操作です.BSD UNIXのプロセス通信メカニズムとして,次の意味をとる.通常は「ソケット」とも呼ばれ、IPアドレスとポートを記述するために使用され、異なる仮想マシンまたは異なるコンピュータ間の通信を実現するために使用できる通信チェーンのハンドルである.インターネット上のホストでは、一般的に複数のサービスソフトウェアが実行され、いくつかのサービスが提供されています.各サービスはSocketを開き、異なるポートが異なるサービスに対応するポートにバインドされます.Socketは英語の原義のように多孔質コンセントのようです.1台のホストは各種のコンセントがいっぱいある部屋のようで、各コンセントには番号があり、あるコンセントは220ボルトの交流を提供し、あるコンセントは110ボルトの交流を提供し、あるコンセントはケーブルテレビ番組を提供している.お客様のソフトウェアは、異なる番号のコンセントにプラグを差し込むと、異なるサービスを受けることができます.
例えば、中国のモバイルカスタマーサービスはモバイルにとって、ずっと1つの番号10086を傍受して、電話が入ってきたら、1つのカスタマーサービスと顧客を割り当ててコミュニケーションして要求を処理します.ユーザーにとって、10086という番号を知っていて、電話をかける必要があります.
# _*_ coding:utf-8 _*_
"""
file:1.py
date:2018-07-25 4:54 PM
author: FATRAT
desc:
"""
import socket
# 1. socket
sk = socket.socket()
# 2. ip
ip_port = ('127.0.0.1', 9998)
sk.bind(ip_port)
# 3.
sk.listen(5)
while True:
# ip
conn, address = sk.accept()
# conn = result[0]
# address = result[1]
# print result
# print type(result)
conn.send('hello')
flag = True
while flag:
data = conn.recv(1024)
print data
if data == 'exit':
flag = False
conn.send('sb')
conn.close()
client
# _*_ coding:utf-8 _*_
"""
file: client.py
date: 2018-07-25 4:35 PM
author: westos-dd
desc:
"""
import socket
# socket
client = socket.socket()
#
ip_port = ('127.0.0.1',9998)
client.connect(ip_port)
while True:
#
data = client.recv(1024)
print data
#
inp = raw_input('clent:')
client.send(inp)
if inp == 'exit':
break