day18-作業(yè)

"""author = 陳俊龍"""

===============服務(wù)端套接字=============

import socket


class Data:
    def __init__(self, path):
        self.path = path

    def add_bdata(self, data: bytes):
        with open(self.path, 'ab') as f:
            f.write(data)

    def raed_bdata(self):
        with open(self.path, 'rb') as f:
            return f.read()

    def add_data(self, data: str):
        with open(self.path, 'a', encoding='utf8') as f:
            f.write(data)

    def read_data(self):
        with open(self.path, 'r', encoding='utf8') as f:
            return f.read()

    def write_data(self, data):
        with open(self.path, 'w', encoding='utf8') as f:
            f.write(data)


server = socket.socket()
server.bind(('10.7.160.62', 8888))
server.listen(10)

while True:
    print('正在監(jiān)聽中....')
    connection, adr = server.accept()
    while True:
        con = connection.recv(1024)
        re_message = con.decode(encoding='utf8')
        print('客戶端:', adr, re_message, sep='')

        if re_message == '我要圖片':
            bdata = Data('./server_flies/20190207212637.jpg')
            jpg = bdata.raed_bdata()
            connection.send(jpg)
            print('*****圖片發(fā)送完成*****')

        elif re_message == '我要在線溝通':
            while True:
                con = connection.recv(1024)
                re_message = con.decode(encoding='utf8')
                print(re_message)
                if re_message == '拜拜':
                    break
                message = input('請輸入你想說的話:')
                connection.send(message.encode())
                if message == '拜拜':
                    break
        elif re_message == '我要傳圖片':
            d1 = Data('./flies/count.txt')
            num = int(d1.read_data())
            while True:
                con = connection.recv(1024)
                ab1 = Data('./server_flies/%d.jpg' % num)
                ab1.add_bdata(con)
                if len(con) < 1024:
                    break
            d1.write_data(str(num + 1))
            print('*****圖片接收完成*****')

    print('當(dāng)前連接中斷')

===============客戶端套接字=============

import socket


class Data:
    def __init__(self, path):
        self.path = path

    def add_bdata(self, data: bytes):
        with open(self.path, 'ab') as f:
            f.write(data)

    def raed_bdata(self):
        with open(self.path, 'rb') as f:
            return f.read()

    def add_data(self, data: str):
        with open(self.path, 'a', encoding='utf8') as f:
            f.write(data)

    def read_data(self):
        with open(self.path, 'r', encoding='utf8') as f:
            return f.read()

    def write_data(self, data):
        with open(self.path, 'w', encoding='utf8') as f:
            f.write(data)


client = socket.socket()
client.connect(('10.7.160.62', 8888))

while True:
    print('請說你要圖片還是溝通钓辆,或者你要給服務(wù)器傳圖片')
    message = input('請輸入:')
    send_mess = message.encode()
    client.send(send_mess)
    if message == '我要圖片':
        d1 = Data('./flies/count.txt')
        num = int(d1.read_data())
        while True:
            data = client.recv(1024)
            c1 = Data('./client_flies/%d.jpg' % num)
            c1.add_bdata(data)
            if len(data) < 1024:
                break
        d1.write_data(str(num+1))
        print('*****圖片接收完成*****')
    elif message == '我要在線溝通':
        while True:
            message = input('請輸入你想說的話:')
            client.send(message.encode())
            if message == '拜拜':
                break
            message = client.recv(1024)
            print(message.decode(encoding='utf8'))
            if message.decode(encoding='utf8') == '拜拜':
                break
    elif message == '我要傳圖片':
        path = input('請輸入圖片路徑:')  # './client_flies/new.jpg'
        db1 = Data(path)
        client.send(db1.raed_bdata())
        print('*****圖片發(fā)送成功*****')
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末浑娜,一起剝皮案震驚了整個濱河市烘苹,隨后出現(xiàn)的幾起案子泉懦,更是在濱河造成了極大的恐慌,老刑警劉巖拱烁,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件生蚁,死亡現(xiàn)場離奇詭異,居然都是意外死亡邻梆,警方通過查閱死者的電腦和手機(jī)守伸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浦妄,“玉大人,你說我怎么就攤上這事见芹〖谅Γ” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵玄呛,是天一觀的道長阅懦。 經(jīng)常有香客問我,道長徘铝,這世上最難降的妖魔是什么耳胎? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮惕它,結(jié)果婚禮上怕午,老公的妹妹穿的比我還像新娘。我一直安慰自己淹魄,他們只是感情好郁惜,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著甲锡,像睡著了一般兆蕉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缤沦,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天虎韵,我揣著相機(jī)與錄音,去河邊找鬼缸废。 笑死包蓝,一個胖子當(dāng)著我的面吹牛驶社,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播养晋,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼衬吆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了绳泉?” 一聲冷哼從身側(cè)響起逊抡,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎零酪,沒想到半個月后冒嫡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡四苇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年孝凌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片月腋。...
    茶點(diǎn)故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡蟀架,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出榆骚,到底是詐尸還是另有隱情片拍,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布妓肢,位于F島的核電站捌省,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏碉钠。R本人自食惡果不足惜纲缓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望喊废。 院中可真熱鬧祝高,春花似錦、人聲如沸操禀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽颓屑。三九已至斤寂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間揪惦,已是汗流浹背遍搞。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留器腋,地道東北人溪猿。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓钩杰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親诊县。 傳聞我的和親對象是個殘疾皇子讲弄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評論 2 348

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

  • 客戶端和服務(wù)器聊天,可以一直聊天依痊,直到一方發(fā)送’拜拜’避除。然后就可以和下一個人一直聊 客戶端: 你好服務(wù)器:拜拜客戶...
    Gary134閱讀 314評論 0 0
  • 作業(yè): 1. 客戶端和服務(wù)器聊天,可以一直聊天胸嘁,直到一方發(fā)送’拜拜’瓶摆。然后就可以和下一個人一直聊 服務(wù)器 客戶端 ...
    詩妮SONY閱讀 256評論 0 0
  • 作業(yè): 客戶端和服務(wù)器聊天,可以一直聊天性宏,直到一方發(fā)送’拜拜’群井。然后就可以和下一個人一直聊服務(wù)器: 客戶端: 2....
    2333_11f6閱讀 214評論 0 0
  • 作業(yè): 客戶端和服務(wù)器聊天,可以一直聊天毫胜,直到一方發(fā)送’拜拜’书斜。然后就可以和下一個人一直聊 2.客戶端給服務(wù)器發(fā)送...
    2ez4ddf閱讀 190評論 0 0
  • 作業(yè): 客戶端和服務(wù)器聊天,可以一直聊天酵使,直到一方發(fā)送’拜拜’菩佑。然后就可以和下一個人一直聊 2.客戶端給服務(wù)器發(fā)送...
    L_4bc8閱讀 139評論 0 0