北京

点击搜索

发布

兄弟连区块链教程网络通信TCP交互通信

区域:
北京 > 昌平 > 回龙观
类别:
软件工程师培训
地址:
文华西路育荣教育园区
  兄弟连区块链入门教程网络通信3:TCP交互通信“区块链+时代无疑会是下一个风口,然而现在的区块链行业专业型人才正在遭遇瓶颈”兄弟连教育区块链培训学院院长尹成表示,“希望能通过兄弟连教育区块链学院为社会为企业培养并输送更多优质的区块链高精尖型技术。
服务端实现
import (
  "fmt"
  "net"
  "os"
  "strings"
)
func CheckErrorS(err error) {
  if err != nil {
    fmt.Println("网络错误" err.Error())
    os.Exit(1)
  }
}
func Processinfo(conn ne***nn) {
  buffer := make([]byte 1024) //开创缓冲区
  defer conn.Close()       //关闭连接

  for {
    n err := conn.Read(buffer) //读取数据
    CheckErrorS(err)

    if n != 0 {
        //拿到客户端地址
        remoteAddr := conn.RemoteAddr()
        msg := string(buffer[:n])
        fmt.Println("收到消息"msg "来自" remoteAddr)

        if st***ntains(msg"钱") {
          conn.Write([]byte("fuckoff"))
          break
        }
        conn.Write([]byte("已阅:"+msg))
    }
  }

}
func main() {
  //建立TCP服务器
  listener err := net.Listen("tcp" "127.0.0.1:8898")
  CheckErrorS(err)
  defer listener.Close() //关闭网络

  fmt.Println("服务器正在等待")

  for {
    conn err := listener.Accept() //新的客户端连接
    CheckErrorS(err)

    //处理每一个客户端
    go Processinfo(conn)
  }

}
客户端实现
import (
  "fmt"
  "net"
  "bufio"
  "os"
)
func CheckErrorC(err error) {
  if err != nil {
    fmt.Println("网络错误" err.Error())
    os.Exit(1)
  }
}
func MessageSend(conn ne***nn) {
  var msg string
  reader := bufio.NewReader(os.Stdin) //读取键盘输入

  for {
    lineBytes _ _ := reader.ReadLine() //读取一行
    msg = string(lineBytes)         //键盘输入转化为字符串

    if msg == "exit" {
        conn.Close()
        fmt.Println("客户端关闭")
        break
    }

    _ err := conn.Write([]byte(msg)) //输入写入字符串
    if err != nil {
        conn.Close()
        fmt.Println("客户端关闭")
        break
    }

  }
}
func main() {
  conn err := net.Dial("tcp" "127.0.0.1:8898") //建立TCP服务器
  CheckErrorC(err)                     //检查错误
  defer conn.Close()

  //发送消息中有阻塞读取标准输入的代码
  //为了避免阻塞住消息的接收,所以把它独立的协程中
  go MessageSend(conn)

  buffer := make([]byte 1024)
  for {
    n err := conn.Read(buffer)
    CheckErrorC(err)

    msg := string(buffer[:n])
    fmt.Println("收到服务器消息" msg)

    if msg=="fuckoff"{
        break
    }

  }

  fmt.Println("连接已断开")
}
本文出自兄弟连区块链教程:更多区块链视频教程/源码/课件/学习资料-企鹅QUN:591-229-276
相关信息
平谷-平谷城区
4月23日
平谷-平谷城区
4月19日
平谷-平谷城区
4月11日
平谷-平谷城区
4月9日
平谷-平谷城区
4月7日
朝阳-京广桥
4月2日 刷新
平谷-平谷城区
4月1日
查看更多北京电脑/网络信息

免责声明:此信息系发布者(UID:496465)自行发布,本站是服务平台,仅提供信息存储空间服务,该信息内容的真实性及合法性由该发布者完全负责。

© lieju.com 联系我们