高度なプログラミングTCP、UDP

1. 4層:アプリケーション層TCP / IPトランスポートネットワークリンクレイヤ
2 7:セッション、プレゼンテーション、アプリケーション、輸送、ネットワーク、データリンク、物理層。
理論的には7層、実際には、4であり
、3ポートプロセスを区別することです。唯一の識別マーク処理は、PIDは、コンピュータ上のプロセスであり、複数のコンピュータ上のポートである
4.80ポートがHTTPであり、21個のポートは、FTP、0から25535まで、周知の上にある
1024〜65535の動的ポート
5.コマンド、netstatの-an

4 .IPアドレス

5 .socket
遅く、ない失うデータTCP
TCP速く、簡単に失うデータに

UDPバインディング
受信のみ:シンプレックス
半二重:インターフォン
全二重:携帯電話の

再送データ
udpSocket.sendto(「こんにちは」 .encode(「UTF-8」) 、(「192.168.0.107」、8080))

、受信したデータが
1024バイトの最大値を受け取ることができ、割り当てを上記二つのデータは、2つの値の代わりに受信され、フロントを割り当てる必要がある2変数
、B = udpSocket.recvfrom(1024)

バインディング情報、のみバインドネイティブ、送信者がバインドする必要はありません、ランダムすることができ、受信者のニーズバインドするには、IPアドレスが空になることがあり
udpSocket。バインド((「」、8080) )

の動作:
プログラムを書き、データの送受信。無制限の受け入れ
の質問は自問し、東コロンビア相場を

見返りにデータパケットを受信すると、空の取りに行く与え
エコー空の袋を

globleグローバル変数の参照研究

作業2.アナログQQチャットプログラム、マルチスレッドテストを

*インポートソケット
#はソケット作成する
UDPSocket =ソケット(AF_INET、SOCK_DGRAM)
バインドに受信者のニーズランダムすることができ、唯一のバインドローカル、送信者がバインドする必要はありませんが、#バインディング情報を
udpSocket.bind( ( ""、8080))

は、受信者のアドレスが誰であるかを決定#ipの
(笑"( '192.168.0.107'、8080)#udpSocket.sendto B)"
#送る中国、エンコードを追加します(文字列の後にUTF-「 8 ")
#udpSocket.sendto( 'こんにちは' .encode(" UTF-8 " )、 ( '192.168.0.107'、8080))
udpSocket.sendto( 'こんにちは' .encode(" UTF-8 " )、 (「192.168.0.107」は、8080))

接続は各毛、IPアドレスとポート番号のために確立された後、送信データ情報を用いて、UDP
ソケットを使用して#、各ポート番号のpython3に使用することができない、同じではありません文字列のみバイトタイプ
#udpSocket.sendto(B「母」(「192.168.119.115」、8080))

は、1024バイト、前面に2つのデータ割り当ての近くまで、閉鎖は、受信の代表であります2つの値の割り当ては、2つの上記の変数を必要とする
A、B = udpSocket.recvfrom(1024)
プリント(a.decode())

ソケットインポートから* 

DEFメイン():
udpSocket =ソケット(AF_INET、SOCK_DGRAM)

udpSocket.bind(( ""、6789))

收、打印
真中:
recvInfor = udpSocket.recvfrom(1024)
プリント( "[%S] :%S "%(STR(recvInfor [1])、recvInfor [0] .decode(" 2312" )))


であれば__name__ == "__main__":
main()の




おすすめ

転載: www.cnblogs.com/wangjunxi/p/11832208.html