2019-08-14day18總結(jié)

import socket

1.什么是socket編程

socket又叫套接字, 指的是實(shí)現(xiàn)通信的兩個端桅打;這個兩個端又分為服務(wù)器套接字和客戶端套接字

2.服務(wù)器套接字


python中提供了一個socket模塊來支持socket編程

 1) 創(chuàng)建套接字對象(買電話機(jī))
socket(family=AF_INET, type=SOCK_STREAM)

family - 設(shè)置ip類型; AF_INET - ipv4, AF_INET6 - ipv6
type - 設(shè)置數(shù)據(jù)的傳輸方式; SOCK_STREAM - TCP, SOCK_DGRAM - UDP

server = socket.socket()


 2) 綁定ip和端口(插電話線)

bind((ip地址, 端口號))

ip地址 - 字符串; 服務(wù)器程序運(yùn)行在哪臺計(jì)算機(jī)上,ip地址就寫哪臺計(jì)算機(jī)的ip
端口號 - 整型燕雁;范圍是0~65535,其中0~1024是著名端口登夫,有自己特殊的意義一般不隨便用。

server.bind(('10.7.181.109', 8882))

 3) 等待連接并且設(shè)置同一時間能夠接收的請求數(shù)量
server.listen(512)


 4) 讓服務(wù)器保持一致運(yùn)行的狀態(tài)
while True:
    print('開始監(jiān)聽')
     5) 接收請求(接電話)
     注意: 當(dāng)程序執(zhí)行到accept()的時候春霍,會停下來直到有客戶端給當(dāng)前服務(wù)器發(fā)送請求為止
    connect, address = server.accept()
    print('接收到請求')
    print(connect, address)


    保持通話
    while True:
         6) 接收客戶端發(fā)送的數(shù)據(jù)(聽別人講電話)
        
        recv(數(shù)據(jù)大小)  -  接收數(shù)據(jù)并且設(shè)置一次性能夠接收最大數(shù)據(jù)
        
        補(bǔ)充: 二進(jìn)制轉(zhuǎn)字符串
        二進(jìn)制對象.decode(encoding='utf-8')
        str(二進(jìn)制對象, encoding='utf-8')
        
        recv_data = connect.recv(1024)
        # print('接收:', recv_data.decode(encoding='utf-8'))
        print('接收:', str(recv_data, encoding='utf-8'))

         7) 給客戶端發(fā)送數(shù)據(jù)(說話別人聽)
        
        send(數(shù)據(jù))   -  發(fā)送數(shù)據(jù),數(shù)據(jù)的類型必須是bytes
        
         發(fā)送一個網(wǎng)頁數(shù)據(jù)
         with open('test.html', encoding='utf-8') as f:
        #     #     html = f.read()
        #     # message = 'HTTP/1.1 200 OK\r\n\r\n'+html
        #     # connect.send(message.encode())

        send_message = input('服務(wù)器:')
        connect.send(send_message.encode())

    # 8) 關(guān)閉連接(掛電話)
    connect.close()

==================================================================

import socket

1.創(chuàng)建套接字對象(買電話機(jī))
client = socket.socket()
 2.發(fā)送請求(打電話)

connect((ip地址, 端口號))

client.connect(('10.7.181.109', 8882))

while True:


     3.發(fā)送消息
    send_message = input('客戶端:')
    client.send(send_message.encode())

     4.接收消息
    re_data = client.recv(1024)
    print(re_data.decode(encoding='utf-8'))

client.close()

=============================================================

import socket

 1.創(chuàng)建套接字對象(買電話機(jī))
client = socket.socket()
 2.發(fā)送請求(打電話)
"""
connect((ip地址, 端口號))
"""
client.connect(('10.7.181.109', 8882))

while True:


    # 3.發(fā)送消息
    send_message = input('客戶端:')
    client.send(send_message.encode())

    # 4.接收消息
    re_data = client.recv(1024)
    print(re_data.decode(encoding='utf-8'))

client.close()

==================================================================
服務(wù)器

from socket import *
server = socket()
server.bind(('10.7.181.86', 6667))
server.listen(521)

while True:
    print('開始監(jiān)聽')
    connect,address = server.accept()
    print(address)

    with open('貓.jpg', 'rb') as f:
        connect.send(f.read())

客戶端

from socket import *
client = socket()
client.connect(('10.7.181.86', 6667))
while True:
    re_data = client.recv(1024)
    with open('new.jpg', 'ab')as f:
        f.write(re_data)

        if(len(re_data) < 1024):
            break
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末力喷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子渴肉,更是在濱河造成了極大的恐慌冗懦,老刑警劉巖爽冕,帶你破解...
    沈念sama閱讀 212,599評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仇祭,死亡現(xiàn)場離奇詭異,居然都是意外死亡颈畸,警方通過查閱死者的電腦和手機(jī)乌奇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來眯娱,“玉大人礁苗,你說我怎么就攤上這事♂憬桑” “怎么了试伙?”我有些...
    開封第一講書人閱讀 158,084評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長于样。 經(jīng)常有香客問我疏叨,道長,這世上最難降的妖魔是什么穿剖? 我笑而不...
    開封第一講書人閱讀 56,708評論 1 284
  • 正文 為了忘掉前任蚤蔓,我火速辦了婚禮,結(jié)果婚禮上糊余,老公的妹妹穿的比我還像新娘秀又。我一直安慰自己,他們只是感情好贬芥,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評論 6 386
  • 文/花漫 我一把揭開白布吐辙。 她就那樣靜靜地躺著,像睡著了一般蘸劈。 火紅的嫁衣襯著肌膚如雪袱讹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,021評論 1 291
  • 那天昵时,我揣著相機(jī)與錄音捷雕,去河邊找鬼。 笑死壹甥,一個胖子當(dāng)著我的面吹牛救巷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播句柠,決...
    沈念sama閱讀 39,120評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼浦译,長吁一口氣:“原來是場噩夢啊……” “哼棒假!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起精盅,我...
    開封第一講書人閱讀 37,866評論 0 268
  • 序言:老撾萬榮一對情侶失蹤帽哑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后叹俏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妻枕,經(jīng)...
    沈念sama閱讀 44,308評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評論 2 327
  • 正文 我和宋清朗相戀三年粘驰,在試婚紗的時候發(fā)現(xiàn)自己被綠了屡谐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,768評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡蝌数,死狀恐怖愕掏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情顶伞,我是刑警寧澤饵撑,帶...
    沈念sama閱讀 34,461評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏浇衬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評論 3 317
  • 文/蒙蒙 一众羡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蓖租,春花似錦粱侣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至稠茂,卻和暖如春柠偶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背睬关。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評論 1 267
  • 我被黑心中介騙來泰國打工诱担, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人电爹。 一個月前我還...
    沈念sama閱讀 46,571評論 2 362
  • 正文 我出身青樓蔫仙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親丐箩。 傳聞我的和親對象是個殘疾皇子摇邦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評論 2 350

推薦閱讀更多精彩內(nèi)容