当前位置: 首页 > news >正文

建筑设计地图网站给个网站带颜色

建筑设计地图网站,给个网站带颜色,seo网站排名优化,北京网站制作公司转型方向文章目录 前言TCP监听回环代码演示 附:UDP监听回环 前言 TCP是比较基础常用的网络通讯方式,这篇文章将使用Go语言实现TCP监听回环测试。 本文中使用 Packet Sender 工具进行测试,其官网地址如下: https://packetsender.com/ TC…

文章目录

  • 前言
  • TCP监听回环
    • 代码
    • 演示
  • 附:UDP监听回环

前言

TCP是比较基础常用的网络通讯方式,这篇文章将使用Go语言实现TCP监听回环测试。

本文中使用 Packet Sender 工具进行测试,其官网地址如下:
https://packetsender.com/

TCP监听回环

Go中TCP功能主要由net包提供,使用起来比较简单。

代码

package mainimport ("fmt""io""net""os"
)func main() {listen, err := net.Listen("tcp", ":22333") // 监听本地所有网卡 tcp 22333 端口checkError(err)for {conn, err := listen.Accept() // 监听客户端的连接请求checkError(err)fmt.Println("New client connected.")go process(conn) // 启动一个goroutine来处理客户端的连接请求}
}func checkError(err error) (eof bool) {if err != nil {if err == io.EOF { // 若异常是io.EOF,说明连接断开return true}fmt.Fprintf(os.Stderr, "Fatal error %s", err.Error())// os.Exit(1)}return false
}func process(conn net.Conn) {defer conn.Close() // 关闭连接for {var buf [65536]bytelen, err := conn.Read(buf[:]) // 读取数据,该操作会阻塞至读取到数据或连接中断if checkError(err) {fmt.Println("Client disconnect.")return}fmt.Println(string(buf[:len])) // 向终端打印收到的消息_, err = conn.Write(buf[:len]) // 发送数据if checkError(err) {fmt.Println("Client disconnect.")return}}
}

代码比较简单,没什么特别需要注意的。

演示

在这里插入图片描述
上面演示试了TCP非长连接和长连接两种情况。

附:UDP监听回环

下面是UDP监听回环的代码,因为不存在长连接的情况,相比TCP稍微更简单一些。

package mainimport ("fmt""net""os"
)func main() {udpAddr, err := net.ResolveUDPAddr("udp4", ":22333") // 转换地址,作为服务器使用时需要监听本机的一个端口checkError(err)conn, err := net.ListenUDP("udp", udpAddr) // 启动UDP监听本机端口checkError(err)for {var buf [16384]bytelen, addr, err := conn.ReadFromUDP(buf[:]) // 读取数据,返回值依次为读取数据长度、远端地址、错误信息 // 读取操作会阻塞直至有数据可读取checkError(err)fmt.Println(string(buf[:len]))            // 向终端打印收到的消息_, err = conn.WriteToUDP(buf[:len], addr) // 写数据,返回值依次为写入数据长度、错误信息 // WriteToUDP()并非只能用于应答的,只要有个远程地址可以随时发消息checkError(err)}
}func checkError(err error) {if err != nil {fmt.Fprintf(os.Stderr, "Fatal error %s", err.Error())// os.Exit(1)}
}
http://www.15wanjia.com/news/178330.html

相关文章:

  • 企业网站建设的费用微信网站页面
  • 云南电商网站开发wordpress关注作者
  • 电商网站建设注意事项企业营销的网站
  • 做网站为什么一定要去国外网站如何做微信支付宝支付
  • 做网站襄樊西宁专业网站建设
  • 手机上网站用建设工具如何做外贸品牌网站建设
  • 关于建设网站的情况说明书海口网站建设q479185700棒
  • 制作公司网站的中国科技成就手抄报
  • 西南大学校园网站建设往年考试卷手机网站安全证书过期怎么处理
  • 网站开发前景怎么样wordpress博客类主题
  • asp响应式h5网站源码下载目录浏览的网站
  • 做网站客源wordpress可以做手机网
  • 做网站不给源码吗网站开发 知乎
  • 去哪里找做网站的人c2c平台怎么下载
  • 做软件的中介网站深圳宝安国际会展中心
  • 设计一套企业网站多少钱自助建站h5
  • 建站平台一键申请三方支付通道浙江质监站网址
  • 怎么做一个手机网站wordpress 主题 数据
  • 网站建设经济效益网站商城首页怎么做吸引人
  • 商业网站页面做展示型企业网站
  • 南昌商城网站设计WordPress更换主题残留
  • 个人网站如何提高访问量线上推广的方式有哪些
  • 铜川做网站室内设计效果图软件手机版
  • 网站尾部设计重庆招聘网官方网站
  • wordpress获取QQseo排名查询工具
  • 2013电子商务网站建设考试图片点开是网站怎么做
  • 辽宁专业模板网站建设公司网站建设合同属于技术服务合同吗
  • php网站开发要学什么软件零食天堂 专做零食推荐的网站
  • 网页设计免费网站北京网站开发网站建设报价
  • 新手做网站什么内容比较好网站建设 站内搜索