go语言简单网络程序实例分析
更新时间:2020年5月3日 23:18 点击:1657
本文实例分析了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)
}
}
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])
}
}
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语言中Select语句用法实例
相关文章
- 这篇文章主要介绍了Go语言压缩和解压缩tar.gz文件的方法,实例分析了使用Go语言压缩文件与解压文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-05-03
- 这篇文章主要介绍了浅谈关于如何检测iOS14本地网络权限的一些思路,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
- 这篇文章主要介绍了C#实现启用与禁用本地网络的方式,结合实例形式总结分析了使用Hnetcfg.dll、Shell32.dll及setupapi.dll三种启用与禁用本地网络的操作方法,需要的朋友可以参考下...2020-06-25
- A789使用过程中,一般有两种途径满足上网的需求,一是通过手机卡上网,一是通过周边存在的无线网络上网。不论上网的速度、还是从需求的费用看,通过无线网络上网都具有绝对的...2016-09-20
- 这篇文章主要介绍了go语言使用RC4加密的方法,实例分析了RC4加密的技巧与实现方法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-05-07
- 坚果R2手机配置如何?这款手机还是延续了锤子手机的外观特征,设计大气方方块块,那么,这款坚果R2手机是否支持5g呢?下面就随着小编一起来看看吧...2020-12-08
- 这篇文章主要介绍了Go语言图片处理和生成缩略图的方法,涉及Go语言针对图片操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-05-03
- 今天小编就为大家分享一篇pytorch动态网络以及权重共享实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-29
- 这篇文章主要介绍了创建第一个Go语言程序Hello,Go!本文详细的给出项目创建、代码编写的过程,同时讲解了GOPATH、Go install等内容,需要的朋友可以参考下...2020-05-01
- 虽然AlexNet证明深层神经网络卓有成效,但它没有提供一个通用的模板来指导后续的研究人员设计新的网络。下面,我们将介绍一些常用于设计深层神经网络的启发式概念...2021-10-11
- 这篇文章主要介绍了Go语言创建、初始化数组的常见方式,实例汇总了Go语言操作数组的常见技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-05-01
- 这篇文章主要介绍了go语言实现文件分割的方法,实例分析了Go语言操作文件的技巧,需要的朋友可以参考下...2020-05-05
- 这篇文章主要介绍了Go语言通过http抓取网页的方法,实例分析了Go语言通过http操作页面的技巧,需要的朋友可以参考下...2020-05-05
- 这篇文章主要介绍了go语言简单的处理http请求的函数,实例分析了Go语言处理http请求的技巧,需要的朋友可以参考下...2020-05-07
- 这篇文章主要介绍了Go语言实现socket的方法,实例分析了socket客户端与服务器端的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-05-03
- 这篇文章主要介绍了Go语言实现简单留言板的方法,涉及数据库、模板页面元素等留言板相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-05-03
- 这篇文章主要介绍了Go语言里的new函数用法,实例分析了new函数的功能及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-05-03
- 这篇文章主要为大家介绍了Go语言的网络编程,其中包含了Socket编程,Http编程以及RPC编程,本篇文章是Go语言七篇入门系列文章,有需要的朋友可以借鉴下...2021-11-10
- 这篇文章主要介绍了Go语言扫描目录并获取相关信息的方法,实例分析了Go语言操作目录及文件的技巧,需要的朋友可以参考下...2020-05-05
- 这篇文章主要为大家介绍了TensorFlow神经网络学习的基本知识张量与变量概念详解,有需要的朋友可以借鉴参考下,希望能够有所帮助...2021-10-17