package main
import (
"net"
"fmt"
"time"
"bytes"
"io"
)
func main() {
add:=new(net.TCPAddr)
add.IP= net.ParseIP("127.0.0.1")
add.Port=7777
tcpl,err:=net.ListenTCP("tcp", add)
if err != nil {
fmt.Println(err)
}
for{
conn,err:=tcpl.Accept()
if err != nil {
fmt.Println(err)
}
handleClient(conn)
}
}
func handleClient(conn net.Conn) {
defer conn.Close()
var buf bytes.Buffer
_, err := io.Copy(&buf, conn)
if err != nil {
fmt.Println("读取错误")
}
fmt.Println(string(buf.Bytes()))
data:=buf.Bytes()
fmt.Println(len(data))
if len(data)==0 {
daytime := time.Now().String()
//不需要关心返回值
conn.Write([]byte(daytime))
}else{
//不需要关心返回值
conn.Write([]byte(string(buf.Bytes())))
}
}package main
import (
"net"
"bytes"
"io"
"fmt"
)
func main() {
add:=new(net.TCPAddr)
add.IP= net.ParseIP("127.0.0.1")
add.Port=7777
conn,err:=net.DialTCP("tcp",nil,add)
if err!=nil{
fmt.Println(err)
}
//conn.Write([]byte("hello"))
conn.CloseWrite()
var buf bytes.Buffer
_, err = io.Copy(&buf, conn)
fmt.Println(string(buf.Bytes()))
}
查看更多关于go 的入门之路 Socket 编程的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did31946