1.Socket 簡(jiǎn)介
socket是進(jìn)程間通信的一種方式,可實(shí)現(xiàn)不同主機(jī)間的進(jìn)程間通信杯活。(進(jìn)程:運(yùn)行起來(lái)的程序可作為一個(gè)進(jìn)程)
1.1創(chuàng)建socket
在python中使用socket模塊的socket函數(shù)來(lái)完成:
AF_INET ????不同機(jī)器通信(IPV4)
AF_UNIX ????同一機(jī)器進(jìn)程間通信
SOCK_STREAM ????TCP
SOCK_DGRAM???? UDP
1.2簡(jiǎn)單示例(發(fā)送數(shù)據(jù))?
圖1????UDP發(fā)送數(shù)據(jù)示例
1.3簡(jiǎn)單示例(接收數(shù)據(jù))
圖2???? UDP接收數(shù)據(jù)示例
1.4簡(jiǎn)單總結(jié)
發(fā)送數(shù)據(jù)流程: (1)創(chuàng)建套接字;(2)發(fā)送數(shù)據(jù)熬词;(3)關(guān)閉套接字
接收數(shù)據(jù)流程:(1)創(chuàng)建套接字旁钧;(2)綁定本地自己的信息(IP和Port);(3)接收數(shù)據(jù)荡澎;(4)關(guān)閉套接字
2.socket進(jìn)階(udp聊天均践,僅半雙工)
功能:兩臺(tái)電腦間進(jìn)行通信(套接字同時(shí)收發(fā))
在socket基礎(chǔ)上進(jìn)行進(jìn)一步的更新(循環(huán)展示晤锹,發(fā)送端的端口綁定摩幔,其他問題,當(dāng)前只是簡(jiǎn)單實(shí)現(xiàn)了功能鞭铆,后續(xù)可把相應(yīng)功能進(jìn)行分解)
2.1先發(fā)送后接收反饋
圖3? ? 發(fā)送后接收
2.2先接收后反饋結(jié)果
圖4? ? 接收后發(fā)送
2.3交互數(shù)據(jù)
圖5? ? send端
圖6? ? recv端
2.3分析詞匯
單工:指只能指向一個(gè)地方(收音機(jī))
半雙工:只能在某一時(shí)間實(shí)現(xiàn)單方面的發(fā)送或接收(對(duì)講機(jī))
全雙工:同時(shí)接收和發(fā)送(socket)