package main
import (
"net"
"fmt"
)
func main() {
listen,err := net.Listen("tcp",":8080")
if err != nil {
fmt.Println("监听端口失败:",err)
return
}
fmt.Println("已初始化,等待客户端连接...")
for {
conn,err := listen.Accept()
if err != nil {
fmt.Println("接收客户端连接异常:",err)
continue
}
fmt.Println("接收客户端连接正常!")
fmt.Println("已接入:",conn.RemoteAddr().String())
defer conn.Close()
go func() {
data := make([]byte,1024)
for {
i,err := conn.Read(data)
if err != nil {
fmt.Println("读取客户端数据错误:",err)
}
fmt.Println("客户端发来数据:",data[:i])
fmt.Println("正在处理为可读模式...")
fmt.Println("数据为:",string(data[:i]))
resp := make([]byte,128)
fmt.Scan(&resp)
conn.Write(resp)
}
}()
}
}
package main
import (
"net"
"fmt"
)
func main() {
conn,err := net.Dial("tcp",":8080")
if err != nil {
fmt.Println("连接服务器失败:",err)
}
fmt.Println("yi连接服务器")
defer conn.Close()
msg := make([]byte,1024)
for {
fmt.Println("请输入要发送的信息:")
_,err := fmt.Scan(&msg)
if err != nil {
fmt.Println("输入异常:",err)
}
_,err = conn.Write(msg)
if err != nil {
fmt.Println("数据发送失败:",err)
fmt.Println(`请选择下一步操作:
1.重新发送
2.退出
3.break
`)
var ch int
_,err := fmt.Scan(&ch)
if err != nil {
fmt.Println("输入异常:",err)
}
switch ch {
case 1:
case 2:
return
case 3:
break
default:
fmt.Println("输入错误")
}
}
buf := make([]byte,128)
c,err := conn.Read(buf)
if err != nil {
fmt.Println("读取服务器数据异常:",err)
return
}
fmt.Println("服务器返回数据为:",string(buf[:c]))
}
}