golang tcp例子

发布时间:2024-07-02 22:07:51

开头

在现代软件开发中,网络通信已经成为了不可或缺的一部分。而在Golang中,通过使用TCP协议,我们可以轻松地构建高性能的网络应用程序。本文将介绍如何使用Golang编写一个简单的TCP服务器和客户端,并展示其运行效果。

TCP服务器

在Golang中,使用net包可以很方便地创建一个TCP服务器。首先,我们需要定义一个监听地址和端口号:

const (
    address = "localhost"
    port    = 8080
)

接下来,我们可以使用net包的Listen函数创建一个监听对象:

listener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", address, port))

然后,我们可以使用Accept方法等待客户端的连接请求:

conn, err := listener.Accept()

当接受到连接请求后,我们可以通过Conn对象进行通信。

TCP客户端

Golang中的TCP客户端操作也非常简单。首先,我们需要指定要连接的服务器地址和端口号:

const (
    serverAddress = "localhost"
    serverPort    = 8080
)

接着,我们可以使用Dial函数拨号并建立与服务器的连接:

conn, err := net.Dial("tcp", fmt.Sprintf("%s:%d", serverAddress, serverPort))

建立连接后,我们可以通过Conn对象进行数据的发送和接收。

运行效果

当TCP服务器和客户端程序完成后,我们可以启动它们并查看运行效果。服务器会监听指定的地址和端口,等待客户端的连接请求。而客户端则会连接到服务器,并发送一条简单的消息。

// TCP服务器程序
listener, _ := net.Listen("tcp", fmt.Sprintf("%s:%d", address, port))
conn, _ := listener.Accept()
message := make([]byte, 1024)
_, _ = conn.Read(message)
fmt.Println("Received: ", string(message))

// TCP客户端程序
conn, _ := net.Dial("tcp", fmt.Sprintf("%s:%d", serverAddress, serverPort))
message := []byte("Hello Server!")
_, _ = conn.Write(message)

通过运行这两段代码,我们可以看到服务器输出了客户端发送的消息,证明通信成功。

通过本文的介绍,我们了解了如何使用Golang编写一个简单的TCP服务器和客户端。无论是开发高性能的网络应用还是进行网络通信相关的学习,都可以借助Golang的net包轻松实现。希望本文对你有所帮助。

相关推荐