

引言
上一篇文章『要疯了,到底什么是网络编程?』,我们用
Go实现了自己的echo服务器,并且使用nc伪装echo客户端和我们自己写的echo服务器进行了收发数据交互,并对这一过程进行了详细的讲解。这一节我们将用Go实现自己的echo客户端,Let's go。
目录

设计思路
- 使用Go语言开发我们的
echo客户端,最小使用Go语言的原生net网络库,从而直击网络编程的本质。 - 从标准输入读取数据,发往服务器,读取服务器返回的数据,打印到标准输出。
- 注意读写数据细节问题。
echo客户端代码
/**
* File: echoClient.go
* Author: 蛇叔
* 公众号: 蛇叔编程心法
*/
package main
import (
"bufio"
"fmt"
"net"
"os"
"syscall"
)
const (
PORT = 8888
ADDR = "127.0.0.1"
SIZE = 100
)
func main() {
// 1. 建立socket
socketFd, err := syscall.Socket(syscall.AF_INET, syscall.SOCK_STREAM, 0)
if err != nil || socketFd < 0 {
fmt.Println("socket create err: ", err)
os.Exit(-1)
}
ip4 := net.ParseIP(ADDR).To4()
if ip4 == nil {
fmt.Println("net.ParseIP err")
os.Exit(-1)
}
sa

本文介绍了如何使用Go语言编写一个TCP echo客户端,详细解析了客户端的设计思路、代码实现、交互过程,以及在操作系统的层面如何查看和理解TCP连接的状态。通过实际操作,展示了TCP三次握手、数据收发和关闭连接的过程。
最低0.47元/天 解锁文章
584

被折叠的 条评论
为什么被折叠?



