都说golang适合网络编程,知道今天写了tcp我才知道他到底有多简洁。(虽然已经对着golang的webrtc研究很久了)
首先是client端代码:
package main
import (
"bufio"
"fmt"
"net"
)
func main() {
conn, err := net.Dial("tcp", "192.168.1.106:8080")
if err != nil {
println("error")
}
p := []byte{255}
for {
nn, err := bufio.NewWriter(conn).Write(p)
if err != nil {
println("error")
}
fmt.Print(nn)
}
}
创建client端很简洁,只需要指定协议和ip地址就行了,而且一行就完成了,此时不得不提一下c写tcp socket的繁琐过程,虽然都是必不可少的,但是有了golang为什么又要去c受折磨呢:) golang的net包很强大,net。Dial正如函数名一样,拨号,对server端进行拨号,返回一个connection和一个error,对error的处理比较常见,可能是panic也可以是打印一下就算了,看个人需求。本文需要实现的功能是client端发送消息到server端,所以我在client端调用了bufio.NewWriter(conn).Write(p),将byte类型的p利用conn发送给server端。
server端代码明天再发,现在Ubuntu的主机不在身边了
标签:socket,err,tcp,server,golang,error,net From: https://www.cnblogs.com/wxL-videostreaming/p/18278945