zoukankan      html  css  js  c++  java
  • go编程第十五课时

    使用go实现客户端和服务端通讯

    客户端:

    package main
    
    import (
        "fmt"
        "net"
        "os"
    )
    
    func main() {
        conn,err:=net.Dial("tcp","127.0.0.1:9091");
            if err == nil {
                fmt.Println("conn is successful");
            }
            defer  conn.Close();
            go func() {
                buf:=make([]byte,1024);
                for {
                    n, error := os.Stdin.Read(buf);
                    if error != nil {
                        fmt.Println("start is error");
                        return;
                    }
                     conn.Write(buf[:n]);
                }
            }()
            res := make([]byte, 1024);
            for {
                n, err := conn.Read(res);
                if err != nil {
                    fmt.Println("read is error");
                    return;
                }
                fmt.Printf("data=[%s]
    ", string(res[:n]));
            }
    }

    服务端:

    package main
    
    import (
        "fmt"
        "net"
        "strings"
    )
    func handleConn (conn net.Conn){
        for {
            addr := conn.RemoteAddr().String();
            fmt.Printf("addr=[%s]
    ", addr);
            data := make([]byte, 2048);
            n, err := conn.Read(data);
            if err != nil {
                fmt.Println("is error");
                return;
            }
            str := strings.ToUpper(string(data[:n]));
            str = strings.Trim(str, "
    ");
            conn.Write([]byte(str));
        }
        //defer  conn.Close();
    }
    func main() {
        listener,err:= net.Listen("tcp","127.0.0.1:9091");
        if err !=nil {
            fmt.Println("start is error");
        }
        for {
            conn,error:=listener.Accept();
            if error != nil {
                fmt.Println("listen is error");
                return;
            }
            go handleConn(conn);
        }
    }
  • 相关阅读:
    HDU-5980
    HDU-5974
    HDU-5979
    关于position的定位
    javascript学习笔记w3chool
    表单相关css技巧
    fis压缩工具的使用
    将HTML页面内容存入json数组
    中介PHP连接前台HTML与数据库MySQL
    lesscss的使用
  • 原文地址:https://www.cnblogs.com/zh718594493/p/14318815.html
Copyright © 2011-2022 走看看