***.***.***.***
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...