/** 文件传输服务端 */ package main import ( "fmt" "net" "os" "io" ) //接收文件内容 func RecvFile(fileName string,conn net.Conn){ //新建文件 f,err:=os.Create(fileName) if err!=nil{ fmt.Println("os.Create err=",err) return } defer f.Close() buf:=make([]byte,2048) //接收多少,写多少 for{ n,err:=conn.Read(buf) if err!=nil{ if err==io.EOF{ break }else{ fmt.Println("os.Open err=",err); return } } f.Write(buf[:n])//往文件写入内容 } fmt.Println("文件接收ok") } func main(){ //监听 listener,err:=net.Listen("tcp","127.0.0.1:8000") if err!=nil{ fmt.Println("err=",err) return } //结束时关闭监听 defer listener.Close() //阻塞等待用户连接 conn,err2:=listener.Accept() if err2!=nil{ fmt.Println("err2",err2) return } defer conn.Close() //接收用户的请求 buf:=make([]byte,1024) n,err3:=conn.Read(buf) if err3!=nil{ fmt.Println("err3",err3) return } fmt.Println("收到文件名filename=",string(buf[:n])) fileName:=string(buf[:n]) //回复ok conn.Write([]byte("ok")) fmt.Println("现在可以发送") //接收文件内容 RecvFile(fileName,conn) /** 输出: F:goWorkSpacestudy 6通信编程>go run 07_文件传输recv服务端.go 收到文件名filename= python3.6.6.rar 现在可以发送 文件接收ok */ }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算