首页 > 编程语言 > 详细

go语言socket服务器端和客户端简单实现

时间:2016-03-07 22:07:12      阅读:311      评论:0      收藏:0      [点我收藏+]

服务器端:

package main

import (
    "bufio"
    "fmt"
    "log"
    "net"
)

func handleConnection(conn net.Conn) {
    defer conn.Close()
    data, err := bufio.NewReader(conn).ReadString(\n)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(string(data))
    fmt.Fprintf(conn, "who?\n")
    data, err = bufio.NewReader(conn).ReadString(\n)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(string(data))
}

func main() {
    l, err := net.Listen("tcp", ":2300")
    if err != nil {
        log.Fatal(err)
    }
    defer l.Close()
    for {
        conn, err := l.Accept()
        if err != nil {
            log.Fatal(err)
        }
        go handleConnection(conn)
    }
}

 客户端:

package main

import (
    "bufio"
    "fmt"
    "log"
    "net"
)

func main() {
    conn, err := net.Dial("tcp", ":2300")
    if err != nil {
        log.Fatal(err)
    }
    defer conn.Close()
    fmt.Fprintf(conn, "hello\n")
    res, err := bufio.NewReader(conn).ReadString(\n)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(string(res))
    fmt.Fprintf(conn, "Jimmy!\n")
}

go语言socket服务器端和客户端简单实现

原文:http://www.cnblogs.com/unsea/p/5251865.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!