socket介绍
Socket詳解:https://realpython.com/python-sockets/
要想理解socket首先得熟悉一下TCP/IP協議族,?TCP/IP(Transmission Control Protocol/Internet Protocol)即傳輸控制協議/網間協議,定義了主機如何連入因特網及數據如何再它們之間傳輸的標準,
從字面意思來看TCP/IP是TCP和IP協議的合稱,但實際上TCP/IP協議是指因特網整個TCP/IP協議族。不同于ISO模型的七個分層,TCP/IP協議參考模型把所有的TCP/IP系列協議歸類到四個抽象層中
應用層:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等
傳輸層:TCP,UDP
網絡層:IP,ICMP,OSPF,EIGRP,IGMP
數據鏈路層:SLIP,CSLIP,PPP,MTU
每一抽象層建立在低一層提供的服務上,并且為高一層提供服務,看起來大概是這樣子的
socket
socket:套接字,是進程間通信的一種方式,socket是在應用層和傳輸層之間的一個抽象層,它把TCP/IP層復雜的操作抽象為幾個簡單的接口供應用層調用已實現進程在網絡中通信。
其主要特點有:可以實現不同主機間(網絡)的進程通信,幾乎所有的網絡進程通信都是用socket來實現通信的
創建socket的基本流程
一、 使用socket實現不同主機進程的通信的流程
1創建socket對象
2. 使用socket對象發送與接收數據
3. 關閉socket
二、 socket.socket 創建一個 socket,該函數帶有兩個參數:
Address Family:地址族,可以選擇 AF_INET(用于 Internet 進程間通 信) 或者 AF_UNIX(用于同一臺機器進程間通信),實際工作中常用AF_INET
Type:套接字類型,可以是 SOCK_DGRAM(數據報套接字,主要用于 UDP 協議)或者 SOCK_STREAM(流式套接字,主要用于 TCP 協議)
?
使用socket實現網絡通信流程
def main():# 1. 創建socket對象sc = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 2. 使用socket對象發送與接收數據# sc.sendto() # 發送數據# sc.recvfrom() # 接收數據# 3.關閉socketprint("-----socket run-------")sc.close() if __name__ == "__":main()轉載于:https://www.cnblogs.com/xiaolu915/p/10511195.html
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
- 上一篇: NIO(二)
- 下一篇: 移动端常用的四个框架