草庐IT

pipe-lining

全部标签

go - 多次使用TCP连接返回 'broken pipe'错误

这个问题是关于go和它的net包的。我写了一个简单的tcp服务器处理一些RPC。客户端使用channet.Conn来管理客户端的所有tcp连接。服务器正在运行一个tcp监听器。代码如下:客户:packageserverimport("errors""log""net")vartcpPoolchannet.ConnfuncNewClient(connectionsint,addressstring){tcpPool=make(channet.Conn,connections)fori:=0;i>>>>>>>>>>>:",res)iferr!=nil{b[0]=ReErrorbreak}i

Golang io.Pipe 与 node.js 管道

我是golang的新手,我在理解go的io.Pipe时遇到了问题。这类似于node.js的.pipe吗?我应该如何使用它?是否可以将它与1个读取文件和一个写入文件一起使用?提前谢谢大家。 最佳答案 不,它们并不完全相似。io.Copy(datio.Writer,srcio.Reader)足以读写文件,如下所示:input:=bufio.NewReader(os.Stdin)output:=bufio.NewWriter(os.Stdout)//bufferoutputlikeCstdlibio.Copy(output,input)/

command-line - GO:{GOOS} 和 {GOARCH} 在环境中未被识别

我想将我的目录更改为go/pkg/darwin_amd64但找不到$cd$GOPATH/pkg/${GOOS}_${GOARCH}尽管目录存在的文件夹。$echo$GOPATH/pkg/${GOOS}_${GOARCH}给出/go/pkg/_而不是/go/pkg/darwin_amd64.$goenv打印:GOARCH="amd64"GOBIN=""GOCHAR="6"GOEXE=""GOHOSTARCH="amd64"GOHOSTOS="darwin"GOOS="darwin"GOPATH="/Users/sahilkapoor/go"GORACE=""GOROOT="/usr/lo

go - 使用 io.Pipes() 发送和接收消息

我在我的程序中使用os.Pipes(),但出于某种原因,每次我尝试从中写入或读取数据时,它都会给出错误的文件描述符错误。我做错了什么吗?下面是代码packagemainimport("fmt""os")funcmain(){writer,reader,err:=os.Pipe()iferr!=nil{fmt.Println(err)}_,err=writer.Write([]byte("hello"))iferr!=nil{fmt.Println(err)}vardata[]byte_,err=reader.Read(data)iferr!=nil{fmt.Println(err)}f

戈朗 : Reading a text file with multi-line rows

我有一个包含多行的文本文件,由空行分隔。在Go中逐行读取该行的最佳方式是什么?我想我可能必须使用带有我自己的Split函数的扫描仪,但只是想知道是否有更好/更简单的方法我错过了。我已经尝试使用我自己的基于bufio.ScanLines的Splitfunc:funcMyScanLines(data[]byte,atEOFbool)(advanceint,token[]byte,errerror){ifatEOF&&len(data)==0{return0,nil,nil}ifi:=bytes.IndexAny(data,"\n\n");i>=0{returni+1,dropCR(data

go - 使用 pipe 执行 go binary 时使用 scanln

我有以下代码:packagemainimport"fmt"funcmain(){ifscanln_test(){fmt.Println("Success!")}}funcscanln_test()bool{fmt.Print("Pleasetypeyesornoandthenpressenter[y/n]:")varresponsestringfmt.Scanln(&response)ifresponse=="y"{returntrue}elseifresponse=="n"{returnfalse}else{returnscanln_test()}}当通过管道执行编译后的二进制文件时

mysql - 去写 unix/tmp/mysql.sock : broken pipe when sending a lot of requests

我有一个可以进行多个MySQL查询的GoAPI端点。当端点收到少量请求时,它工作得很好。但是,我现在正在使用具有100个请求的apachebench对其进行测试。前100名全部通过。但是,第2个100导致出现这个错误2014/01/1512:08:03http:panicserving127.0.0.1:58602:runtimeerror:invalidmemoryaddressornilpointerdereferencegoroutine973[running]:net/http.func·009()/usr/local/Cellar/go/1.2/libexec/src/pkg

go - 为什么goland 1.0 EAP提示 "#command-line-arguments undefined: NewServer"

当我使用Goland1.0EAPIDE调试fabricsourcecodeorderer模块时,它可以调试并提示:GOROOT=/usr/local/Cellar/go/1.8.3/libexec#gosetupGOPATH=/Users/friends/Documents/VirtualMachine/share/gopath#gosetup/usr/local/Cellar/go/1.8.3/libexec/bin/gobuild-i-o/private/var/folders/cg/mwzlhrjs5y55ny553g6xz9tr0000gn/T/___orderer_start

logging - os.Pipe 无法按预期使用日志包

我有一段代码设置了一个os.Pipe来捕获Stdout/Stderr:https://github.com/sevagh/stdcap/blob/master/stdcap.go//Captureexecutesf()andreturnsthecaptureddatafunc(s*stdcap)Capture(ffunc())string{s.mu.Lock()defers.mu.Unlock()varold,r,w*os.Fileifs.out{old=os.Stdoutr,w,_=os.Pipe()os.Stdout=w}else{old=os.Stderrr,w,_=os.Pip

go - 为什么传入/tmp/go-build644681611/command-line-arguments/_obj/exe去运行

我正在玩和学习用于go的beego框架,但我的helloworld示例没有运行,据我确定,beego执行了一个基于os.Args[0]的chdir,并且该程序在那里运行.这就是应用程序运行但找不到View目录的原因。所以回溯到更简单的级别,文件名'example.go':packagemainimport("fmt""os")funcmain(){fmt.Println(os.Getwd())fmt.Println(os.Args[0])}将输出:///tmp/go-build178877254/command-line-arguments/_obj/exe/example我对go的理