GO 檔案的收發伺服器

2022-08-31 01:24:14 字數 1494 閱讀 9832

傳送方

package main

import (

"fmt""

os""net""

io")//

傳送檔案內容

func sendfile(path string

, conn net.conn)

defer f.close()

//核心功能,讀多少就傳送多少

buf := make(byte, 2048

)

fortrue

else

}//給伺服器傳送內容

conn.write(buf[:n])

}}func main()

//檔案連線伺服器

conn, err1 := net.dial("

tcp", "

:8000")

if err1 !=nil

defer conn.close()

//給接收方傳送檔名

_, err = conn.write(byte

(info.name()))

if err !=nil

buf := make(byte, 1024

) n, err := conn.read(byte

(buf))

if err !=nil

if"ok" == string

(buf[:n])

}

接收方

package main

import (

"net""

fmt""os

""io"

)//接收檔案內容

func recvfile(filename string

, conn net.conn)

buf := make(byte, 4*1024

)

fortrue

else

}f.write(buf[:n])

}}func main()

defer listener.close()

conn, err :=listener.accept()

if err !=nil

//讀取檔名

buf := make(byte, 1024

)

var n int

n, err =conn.read(buf)

if err !=nil

filename :=string

(buf[:n])

//回覆ok

conn.write(byte("ok"

))

//接收檔案內容

recvfile(filename, conn)

}

先開始傳送方的服務後再開始接收方,在傳送方輸入傳送的檔名

GO伺服器後端碰到的問題

這裡記錄一下cros問題 需要在服務端加入以下 w.header add access control allow origin w.header add access control allow methodas get,post,options w.header add access contr...

檔案伺服器之NFS伺服器

nfs是network file system縮寫,可以通過往裡,讓不同的機器,不同的操作協同可以共享彼此的檔案。nfs最大問題在 許可權 客戶端與伺服器端必須具有相同的賬號才能夠訪問某些目錄或檔案。nfs啟動需要通過所謂的遠端呼叫 rpc nfs預設埠是隨機的,小於1024.rpc主要功能就是指定...

伺服器檔案同步

假設我們要把本地檔案上傳到伺服器 這裡的伺服器是以centos為作業系統的 或者把a伺服器的檔案傳到b伺服器,要怎麼操作呢?或者要在伺服器間實時的同步檔案,要怎麼操作呢?把檔案上傳到伺服器。實現通過ftp軟體上傳,這個就很簡單了把,就是安裝好這類軟體,如xsftp bitvise ssh等 通過sh...