全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

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

发布时间:2023-12-24 13:59:14
发布人:xqq

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设计培训等需求,欢迎随时联系千锋教育。

相关文章

从微服务到区块链Golang应用场景全解析

从微服务到区块链Golang应用场景全解析

2023-12-24
Golang中的Web开发从基础到高级技巧

Golang中的Web开发从基础到高级技巧

2023-12-24
了解Golang垃圾回收机制,避免内存泄漏

了解Golang垃圾回收机制,避免内存泄漏

2023-12-24
如何用Go实现一款高度可扩展的Web服务器

如何用Go实现一款高度可扩展的Web服务器

2023-12-24

最新文章

python培训学校靠谱吗?为什么一定要选择千锋教育

python培训学校靠谱吗?为什么一定要选择千锋教育

2023-12-13
培训学校学java靠谱吗?为什么一定要选择千锋教育

培训学校学java靠谱吗?为什么一定要选择千锋教育

2023-12-13
网络安全哪个培训机构靠谱

网络安全哪个培训机构靠谱

2023-12-13
python培训机构可靠吗?为什么一定要选择千锋教育

python培训机构可靠吗?为什么一定要选择千锋教育

2023-12-13
在线咨询 免费试学 教程领取