go语言简单网络程序实例分析

 更新时间:2015年02月27日 09:53:25   作者:不是JS  
这篇文章主要介绍了go语言简单网络程序实现方法,实例分析了服务器端与客户端的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例分析了go语言简单网络程序。分享给大家供大家参考。具体分析如下:

服务端代码如下:

复制代码 代码如下:
package main
import (
    "net"
    "os"
)
func serve(s net.Conn) {
    var buf [1024]byte
    for {
        n, err := s.Read(&buf)
        if err != nil || n == 0 {
            break;
        }
        s.Write(buf[0:n])
    }
}
func main() {
    l, e := net.Listen("tcp", ":12345")
    if e != nil {
        os.Exit(-1)
    }
    for {
        s, e := l.Accept()
        if e != nil {
            os.Exit(-1)
        }
        go serve(s)
    }
}

客户端代码如下:

复制代码 代码如下:
package main
import (
    "net"
    "os"
)
func main() {
    s, err := net.Dial("tcp", "", "192.168.1.168:12345")
    if err != nil {
        os.Exit(-1)
    }
    for {
        var buf [1024]byte
        n, err := os.Stdin.Read(&buf)
        if err != nil || n == 0 {
            os.Exit(-1)
        }
        s.Write(buf[0:n])
        n, err = s.Read(&buf)
        if err != nil || n == 0 {
            os.Exit(-1)
        }
        os.Stdin.Write(buf[0:n])
    }
}

希望本文所述对大家的Go语言程序设计有所帮助。

相关文章

  • 执行go vendor第三方包版本冲突问题解决

    执行go vendor第三方包版本冲突问题解决

    这篇文章主要为大家介绍了执行go vendor时,第三方包go版本冲突问题的解决方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Go语言中实现Unix风格的进程管道方法实例

    Go语言中实现Unix风格的进程管道方法实例

    这篇文章主要为大家介绍了Go语言中实现Unix风格的进程管道方法实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Go语言实现切片增删改查的示例代码

    Go语言实现切片增删改查的示例代码

    这篇文章主要为大家详细介绍了Go语言中切片的使用(增删改查),文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,需要的可以参考一下
    2022-04-04
  • 详解Go语言如何实现二叉树遍历

    详解Go语言如何实现二叉树遍历

    这篇文章主要为大家详解介绍了Go语言中如何实现二叉树遍历,文中的示例代码讲解详细,对我们学习Go语言有一定帮助,需要的可以参考一下
    2022-04-04
  • 如何在Go中使用Casbin进行访问控制

    如何在Go中使用Casbin进行访问控制

    这篇文章主要介绍了如何在Go中使用Casbin进行访问控制,Casbin是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型,Casbin只负责访问控制
    2022-08-08
  • 一文教你打造一个简易的Golang日志库

    一文教你打造一个简易的Golang日志库

    这篇文章主要为大家详细介绍了如何使用不超过130行的代码,通过一系列golang的特性,来打造一个简易的golang日志库,感兴趣的小伙伴可以了解一下
    2023-06-06
  • Golang中goroutine和channel使用介绍深入分析

    Golang中goroutine和channel使用介绍深入分析

    一次只做一件事情并不是完成任务最快的方法,一些大的任务可以拆解成若干个小任务,goroutine可以让程序同时处理几个不同的任务,goroutine使用channel来协调它们的工作,channel允许goroutine互相发送数据并同步,这样一个goroutine就不会领先于另一个goroutine
    2023-01-01
  • Go实现数据脱敏的方案设计

    Go实现数据脱敏的方案设计

    在一些常见的业务场景中可能涉及到用户的手机号,银行卡号等敏感数据,对于这部分的数据经常需要进行数据脱敏处理,就是将此部分数据隐私化,防止数据泄露,所以本文给大家介绍了Go实现数据脱敏的方案设计,需要的朋友可以参考下
    2024-05-05
  • 适合PHP同学的GoFrame框架使用体验及学习建议

    适合PHP同学的GoFrame框架使用体验及学习建议

    这篇文章主要为大家介绍了非常适合PHP同学使用的GoFrame框架设计思想使用体验及学习建议介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 线上golang grpc服务资源泄露问题排查

    线上golang grpc服务资源泄露问题排查

    这篇文章主要介绍了线上golang grpc服务资源泄露问题排查,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12

最新评论