千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Golang网络编程TCP/UDP编程实例

Golang网络编程TCP/UDP编程实例

来源:千锋教育
发布人:xqq
时间: 2023-12-24 13:59:14 1703397554

Golang网络编程:TCP/UDP编程实例

Golang是一个非常流行的编程语言,特别适合于网络编程方面的应用。在本篇文章中,我们将会涵盖TCP和UDP网络编程的实例。

TCP编程实例

TCP是一种面向连接的协议,它提供可靠的数据传输机制。下面是一个简单的TCP服务器和客户端程序。

服务器:

`go

package main

import (

"fmt"

"net"

)

func main() {

ln, err := net.Listen("tcp", ":8080")

if err != nil {

fmt.Println(err)

return

}

for {

conn, err := ln.Accept()

if err != nil {

continue

}

go handleConnection(conn)

}

}

func handleConnection(conn net.Conn) {

buf := make(byte, 1024)

_, err := conn.Read(buf)

if err != nil {

fmt.Println("Error reading:", err.Error())

}

fmt.Println("Message received:", string(buf))

conn.Close()

}

客户端:`gopackage main import (    "fmt"    "net") func main() {     conn, err := net.Dial("tcp", "127.0.0.1:8080")    if err != nil {        fmt.Println(err)        return    }     fmt.Fprintf(conn, "Hello, server")     conn.Close()}

首先服务器程序使用net.Listen()函数监听一个TCP端口,等待客户端的连接。然后用ln.Accept()函数接受连接并在一个新的goroutine中处理连接,然后在服务器上打印收到的消息。

客户端程序使用net.Dial()函数连接到服务器。然后使用fmt.Fprintf()函数向服务器发送一条消息,在此之后关闭连接。

UDP编程实例

UDP是一种不可靠的协议,它提供了无连接的数据传输机制。下面是一个简单的UDP服务器和客户端程序。

服务器:

`go

package main

import (

"fmt"

"net"

)

func main() {

pc, err := net.ListenPacket("udp", ":8080")

if err != nil {

fmt.Println(err)

return

}

defer pc.Close()

buf := make(byte, 1024)

for {

_, addr, err := pc.ReadFrom(buf)

if err != nil {

fmt.Println(err)

continue

}

fmt.Println("Message received:", string(buf))

_, err = pc.WriteTo(buf, addr)

if err != nil {

fmt.Println(err)

continue

}

}

}

客户端:`gopackage main import (    "fmt"    "net") func main() {     conn, err := net.Dial("udp", "127.0.0.1:8080")    if err != nil {        fmt.Println(err)        return    }     fmt.Fprintf(conn, "Hello, server")     buf := make(byte, 1024)     _, err = conn.Read(buf)    if err != nil {        fmt.Println(err)        return    }     fmt.Println("Message received:", string(buf))     conn.Close()}

首先UDP服务器程序使用net.ListenPacket()函数监听一个UDP端口,等待客户端的连接。然后使用pc.ReadFrom()函数从客户端接受消息,并在服务器上打印收到的消息。接着使用pc.WriteTo()函数给客户端发送一个消息。

客户端程序使用net.Dial()函数连接到服务器。然后使用fmt.Fprintf()函数向服务器发送一条消息。接着使用conn.Read()函数从服务器接收消息,并在客户端上打印收到的消息。

总结

本文中我们涵盖了TCP和UDP网络编程的实例,这些实例为初学者提供了一个简单而有用的入门介绍。Golang的网络编程是一件非常有趣和有用的事情,因为它可以帮助我们构建各种各样的网络应用。

以上就是IT培训机构千锋教育提供的相关内容,如果您有web前端培训鸿蒙开发培训python培训linux培训,java培训,UI设计培训等需求,欢迎随时联系千锋教育。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT