更新時間:2018-07-20 來源:黑馬程序員 瀏覽量:
socket簡介
ocket(簡稱 套接字) 是進(jìn)程間通信的一種方式,它與其他進(jìn)程間通信的一個主要不同是:
它能實現(xiàn)不同主機(jī)間的進(jìn)程間通信,我們網(wǎng)絡(luò)上各種各樣的服務(wù)大多都是基于 Socket 來完成通信的
例如我們每天瀏覽網(wǎng)頁、QQ 聊天、收發(fā) email 等等
udp網(wǎng)絡(luò)程序-發(fā)送、接收數(shù)據(jù)
1. udp網(wǎng)絡(luò)程序-發(fā)送數(shù)據(jù)
創(chuàng)建一個基于udp的網(wǎng)絡(luò)程序流程很簡單,具體步驟如下:
創(chuàng)建客戶端套接字
發(fā)送/接收數(shù)據(jù)
關(guān)閉套接字
代碼如下:
2. udp網(wǎng)絡(luò)程序-發(fā)送、接收數(shù)據(jù)
tcp客戶端
tcp的客戶端與服務(wù)端
大家都使用過 QQ、微信、支付寶、外賣、銀行等等各種手機(jī) APP, 這些軟件叫做客戶端。
這些客戶端軟件都有一個特點: 如果只有客戶端軟件是無法享受到軟件提供的服務(wù). 客戶端軟件需要與服務(wù)器端軟件相互配合才能完成. 簡言之, 客戶端就是接受服務(wù)的一方, 服務(wù)器端就是提供服務(wù)的一方。
tcp有嚴(yán)格的客戶端和服務(wù)端之分。基于 TCP 傳輸方式的通信就必須事先建立連接, 則有一方是主動連接的,而另一方是被連接的; 主動連接的一方一般都是客戶端, 被連接的一方一般都是服務(wù)端。
tcp客戶端構(gòu)建流程
示例代碼:
<1>tcp客戶端
tcp服務(wù)器
生活中的電話機(jī)
如果想讓別人能更夠打通咱們的電話獲取相應(yīng)服務(wù)的話,需要做以下幾件事情:
買個手機(jī)
插上手機(jī)卡
設(shè)計手機(jī)為正常接聽狀態(tài)(即能夠響鈴)
靜靜的等著別人撥打
tcp服務(wù)器
如同上面的電話機(jī)過程一樣,在程序中,如果想要完成一個tcp服務(wù)器的功能,需要的流程如下:
socket創(chuàng)建一個套接字
bind綁定ip和port
listen使套接字變?yōu)榭梢员粍舆B接,即開啟監(jiān)聽
accept等待客戶端的連接
recv/send接收發(fā)送數(shù)據(jù)
一個很簡單的tcp服務(wù)器如下:
<1>tcp服務(wù)器
作者:黑馬程序員人工智能+Python培訓(xùn)學(xué)院
首發(fā):http://python.itheima.com/