亚洲高清vr播放在线观看,欧美亚洲精品免费,欧美日韩天堂在线视频,午夜福利小视频

      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 網(wǎng)絡(luò)知識 > 網(wǎng)絡(luò)基礎(chǔ)知識 >

      如何使用tcp實現(xiàn)局域網(wǎng)內(nèi)文件傳輸

      時間: 加城1195 分享

        局域網(wǎng)通常是分布在一個有限地理范圍內(nèi)的網(wǎng)絡(luò)系統(tǒng),一般所涉及的地理范圍只有幾公里。局域網(wǎng)專用性非常強,具有比較穩(wěn)定和規(guī)范的拓撲結(jié)構(gòu)。這篇文章主要介紹了python使用tcp實現(xiàn)局域網(wǎng)內(nèi)文件傳輸,文件包括文本,圖片,視頻等,具有一定的參考價值,感興趣的小伙伴們可以參考一下

        具體功能:

        可以利用python創(chuàng)建的TCP客戶端從我們自己搭建的TCP服務(wù)器上下載文件。

        實現(xiàn)需求:

        安裝socket模塊

        簡單了解sokcet模塊用法

        服務(wù)器代碼如下:

        import socket

        def file_deal(file_name):

        # 定義函數(shù)用于處理用戶索要下載的文件

        try:

        # 二進制方式讀取

        files = open(file_name, "rb")

        mes = files.read()

        except:

        print("沒有該文件")

        else:

        files.close()

        return mes

        def main():

        # 創(chuàng)建套接字

        tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        # 固定端口號

        tcp_socket.bind(("",8888))

        # 將主動套接字轉(zhuǎn)為被動套接字

        tcp_socket.listen(128)

        while True:

        # 利用accept獲取分套接字以及客戶端的地址

        client_socket,client_addr = tcp_socket.accept()

        # 接收客戶端的數(shù)據(jù)

        file_name = client_socket.recv(4096)

        # 調(diào)用函數(shù)處理用戶下載的文件

        mes = file_deal(file_name)

        if mes:

        # 如果文件不為空發(fā)送

        client_socket.send(mes)

        #關(guān)閉分套接字

        client_socket.close()

        if __name__ == "__main__":

        main()

        import socket

        def file_deal(file_name):

        # 定義函數(shù)用于處理用戶索要下載的文件

        try:

        # 二進制方式讀取

        files = open(file_name, "rb")

        mes = files.read()

        except:

        print("沒有該文件")

        else:

        files.close()

        return mes

        def main():

        # 創(chuàng)建套接字

        tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        # 固定端口號

        tcp_socket.bind(("",8888))

        # 將主動套接字轉(zhuǎn)為被動套接字

        tcp_socket.listen(128)

        while True:

        # 利用accept獲取分套接字以及客戶端的地址

        client_socket,client_addr = tcp_socket.accept()

        # 接收客戶端的數(shù)據(jù)

        file_name = client_socket.recv(4096)

        # 調(diào)用函數(shù)處理用戶下載的文件

        mes = file_deal(file_name)

        if mes:

        # 如果文件不為空發(fā)送

        client_socket.send(mes)

        #關(guān)閉分套接字

        client_socket.close()

        if __name__ == "__main__":

        main()

        客戶端代碼:

        from socket import *

        import os

        def main():

        # 建立套接字

        tcp_socket = socket(AF_INET, SOCK_STREAM)

        # 接收用輸入的服務(wù)器端的ip和端口

        tcp_ip = input("請輸入ip:")

        tcp_port = int(input("請輸入端口:"))

        # 連接服務(wù)器

        tcp_socket.connect((tcp_ip, tcp_port))

        # 輸入要下載的文件名

        file_name = input("請輸入要下載的文件名:")

        # 將文件名發(fā)送至服務(wù)器端

        tcp_socket.send(file_name.encode())

        # 創(chuàng)建一個空文件

        new_file = open(file_name, "wb")

        # 用與計算讀取的字節(jié)數(shù)

        time = 0

        while True:

        # 接收服務(wù)器端返回的內(nèi)容

        mes = tcp_socket.recv(4096)

        # 如果內(nèi)容不為空執(zhí)行

        if mes:

        # 解碼并向文件內(nèi)寫入

        new_file.write(mes.decode())

        # 計算字節(jié)

        time += len(mes)

        else:

        # 如果字節(jié)數(shù)為空即未收到內(nèi)容

        if time == 0:

        # 關(guān)閉文件

        new_file.close()

        # 刪除剛剛創(chuàng)建的文件

        os.remove(file_name)

        print("沒有您要下載的文件")

        else:

        # 如過time有值時name文件傳輸完成

        print("文件下載成功")

        break

        # 關(guān)閉套接字

        tcp_socket.close()

        if __name__ == '__main__':

        main()

        補充:局域網(wǎng)、校園網(wǎng)安全維護方法

        校園網(wǎng)絡(luò)分為內(nèi)網(wǎng)和外網(wǎng),就是說他們可以上學(xué)校的內(nèi)網(wǎng)也可以同時上互聯(lián)網(wǎng),大學(xué)的學(xué)生平時要玩游戲購物,學(xué)校本身有自己的服務(wù)器需要維護;

        在大環(huán)境下,首先在校園網(wǎng)之間及其互聯(lián)網(wǎng)接入處,需要設(shè)置防火墻設(shè)備,防止外部攻擊,并且要經(jīng)常更新抵御外來攻擊;

        由于要保護校園網(wǎng)所有用戶的安全,我們要安全加固,除了防火墻還要增加如ips,ids等防病毒入侵檢測設(shè)備對外部數(shù)據(jù)進行分析檢測,確保校園網(wǎng)的安全;

        外面做好防護措施,內(nèi)部同樣要做好防護措施,因為有的學(xué)生電腦可能帶回家或者在外面感染,所以內(nèi)部核心交換機上要設(shè)置vlan隔離,旁掛安全設(shè)備對端口進行檢測防護;

        內(nèi)網(wǎng)可能有ddos攻擊或者arp病毒等傳播,所以我們要對服務(wù)器或者電腦安裝殺毒軟件,特別是學(xué)校服務(wù)器系統(tǒng)等,安全正版安全軟件,保護重要電腦的安全;

        對服務(wù)器本身我們要安全server版系統(tǒng),經(jīng)常修復(fù)漏洞及更新安全軟件,普通電腦一般都是撥號上網(wǎng),如果有異常上層設(shè)備監(jiān)測一般不影響其他電腦。做好安全防范措施,未雨綢繆。


      如何使用tcp實現(xiàn)局域網(wǎng)內(nèi)文件傳輸相關(guān)文章:

      1.兩臺電腦在同一個局域網(wǎng)怎么傳輸文件(2)

      2.如何簡單設(shè)置一個局域網(wǎng)

      3.局域網(wǎng)資源共享的實現(xiàn)的方法

      4.怎么樣把幾臺電腦連接在同一個局域網(wǎng)

      5.電腦局域網(wǎng)怎樣連接

      4051488