golang學習2 網路傳送檔案

2021-10-05 23:14:45 字數 1593 閱讀 9877

client.go

package main

import (

"fmt"

"io"

"net"

"os"

)func sendfile(conn net.conn,filepath string)

defer f.close()

//從本檔案中,讀資料,寫給網路接收端。讀多少,寫多少。原封不動

buf := make(byte,4096)

for else

} //寫道網路socket中

_,err = conn.write(buf[:n])

if err != nil }}

func main()

//提取檔案絕對路徑

filepath := list[1]

//提取檔名

fileinfo, err := os.stat(filepath)

if err != nil

filename := fileinfo.name()

//主動發起連線請求

conn,err := net.dial("tcp","127.0.0.1:8008")

if err != nil

defer conn.close()

//傳送檔名給接收端

n,err := conn.write(byte(filename))

if err != nil

//讀取伺服器回發的 ok

buf := make(byte,16)

n, err = conn.read(buf)

if err != nil

if "ok" == string(buf[:n])

}

server.go

package main

import (

"fmt"

"net"

"os"

)func recvfile(conn net.conn, filename string)

defer f.close()

//從網路中讀資料,寫入本地檔案

buf := make(byte,4096)

for

//寫入本地檔案,都多少,寫多少

f.write(buf[:n]) }}

func main()

defer listenner.close()

//阻塞監聽

conn,err := listenner.accept()

if err != nil

defer conn.close()

//獲取檔名,儲存

buf := make(byte,4096)

n, err := conn.read(buf)

if err != nil

filename := string(buf[:n])

//回寫 ok 給傳送端

conn.write(byte("ok"))

//獲取檔案內容

recvfile(conn,filename)

}

Python3網路程式設計2 網路檔案的寫入和讀取

1 檔案開啟模式 r 以讀寫模式開啟 w 以讀寫模式開啟 a 以讀寫模式開啟 rb 以二進位制讀模式開啟 wb 以二進位制寫模式開啟 ab 以二進位制追加模式開啟 rb 以二進位制讀寫模式開啟 wb 以二進位制讀寫模式開啟 ab 以二進位制讀寫模式開啟 2 寫入檔案 with open file n...

linux0 99網路模組 網路層 傳送

在tcp的write系統呼叫中呼叫了下面的函式用於資料報的傳送 net tep tcp.c 852 prot queue xmit sk,dev,skb,0 來看一下tcp註冊的 queue xmit net tcp tcp.c 3185 struct proto tcp prot 3201 ip ...

00000 網路學習分享

網路乾貨 網路乾貨,無論是運維還是開發都要知道的網路知識系列之 一 提公升逼格,無論是運維還是開發都要知道的網路知識系列之 二 提公升逼格,無論是運維還是開發都要知道的網路知識系列之 三 提公升逼格,無論是運維還是開發都要知道的網路知識系列之 四 提公升逼格,無論是運維還是開發都要知道的網路知識系列...