私はTCP/IPソケットでC言語で作成したサーバー用のGolangクライアントを書き始めたばかりで、チャンネルが動作していないことが分かりました。TCP/IPソケットでGolangのチャンネルが動作しない
なぜでしょうか? http://pasted.co/a37b2954
しかし、私が唯一持っている:以下の出力でnetcatを結果と私のサーバーをテスト
func reader(r io.Reader, channel chan<- []byte) {
buf := make([]byte, 2048)
for {
n, err := r.Read(buf[:])
if err != nil {
return
}
channel <- buf[0:n]
}
}
func client(e *gowd.Element) {
f, err := os.Create("/tmp/dat2")
if err != nil {
log.Fatal()
}
read := make(chan []byte)
c, err := net.Dial("tcp", "127.0.0.1:4242")
if err != nil {
log.Fatal(err)
}
go reader(c, read)
for {
buf := <-read
n := strings.Index(string(buf), "\n")
if n == -1 {
continue
}
msg := string(buf[0:n])
if msg == "WELCOME" {
fmt.Fprint(c, "GRAPHIC\n")
}
f.WriteString(msg + "\n")
}
私はので、多分私が間違っているGolangにちゃんに新たなんだ(Iおそらくam)
質問自体に「機能しない」と定義できますか? – Adrian