Python網路程式設計

2021-10-05 18:45:41 字數 1286 閱讀 2480

***.***.***.***

0-255

埠:65536個

計算機內不同應用使用網路的區分

知名埠:0-1023

動態埠:

對某個使用網路的程式動態的分配埠

使用網路時要申請埠

socket套接字:

建立

import socket
socket.socket(addressfamily, type)
addressfamily:

af_inet 網路通訊

af_unix 電腦內部通訊

type:

sock_stream 流式套接字(tcp)

sock_dgram資料報套接字(udp)

udp:

傳送

sendto(內容, ip+port(元組表示)

)

內容不能用字串 要加.encode(「utf-8」)

接收:socket.bind((ip, 埠))程式繫結埠

ip不填表示本機任意乙個ip

socket.recvfrom(一次接收最大位元組)接收

返回值返回接收資料報(接收到的資料, (傳送方ip,傳送埠))

接收到的資料要解碼用decode(「gbk」)

tcp機制:

面向連線(三次握手)

有序傳輸

重發丟失

捨棄重複

無差錯資料傳輸

阻塞/ 流量控制

tcp 客戶端:

建立套接字

sock_stream

連線伺服器

socket.connect(ip, port)
收發資料

socket.send(傳送的資訊)
關閉套接字

tcp 伺服器:

建立套接字

bind繫結ip port
listen使套接字變為可被動連線

accept等待客戶連線
返回值有兩個 ,連線的ip

recv/send 收發資料(新的套接字操作收發)
ps:

收到的只有文字與udp不同

當客戶端套接字下線後 伺服器端會recv接觸阻塞返回資料長度為零,可以以此判斷客戶端是否下線

python網路程式設計 TCP網路程式設計

tcp程式設計 客戶端 import socket 1 套接字 tcp socket socket.socket socket.af inet,socket.sock stream 2 建立鏈結 tcp socket.connect 172.27.35.1 8080 3 傳送資訊 tcp socke...

python 網路程式設計

今天晚上學習了一下python的網路程式設計,實現了client向server傳送資料,server反饋資訊 python 3.3 版本 server from socket import class tcpserver object def init self,serverport self.se...

python網路程式設計

網路通訊是計算機之間的程序之間的通訊。tcp程式設計 tcp連線建立是雙向通道,客戶端與服務端都可以給對方傳送資料。建立tcp連線時,主動發起連線的叫客戶端,被動響應連線的叫服務端。建立乙個tcp的socket連線 用socket family,type 建立套接字獲得socket物件。family...