一、网络通信的步骤
服务端
1.socket()
创建通信的套接字socket:ip:addr
2.bind()
将套接字绑定监听的地址和端口号,作用是:服务器一般有很多网卡,多个IP地址,bind指定具体监听 哪一个IP地址及对应的端口号(若服务器有3个网卡,192.168.66.1,192.168.66.2,192.168.66.3,bind绑定的是192.168.66.3,那当且仅当客户端请求发送给192.168.66.3时才能被监听到,并进行请求的处理)。
**全0的IP地址表示监听所有网卡的请求,无论请求的是哪一个IP都能连接上**
**0端口是一种由系统指定动态生成的端口。也即是说,监听端口0,系统会自动重新分配一个系统空闲的端口**
3.listen()
使用上面创建的套接字循环监听bind上IP到来的请求(两个队列)
4.accept()
请求到来时,accpet复制该套接字的请求进行处理。
客户端
1.socket()
创建套接字
2.connect() (可选)
使用上面的套接字连接服务端IP和port,进行通信
**UDP通信不需要客户端建立连接,因此不需要connect**
二、TCP通信步骤
三、UDP通信步骤和示例

四、golang UDP IPV6通信代码及测试
参考博客
https://blog.youkuaiyun.com/weixin_45477086/article/details/122901328
以下

文章详细介绍了网络通信的基本步骤,包括服务端的socket、bind、listen、accept操作,以及客户端的socket和connect(UDP不需要connect)。接着分别阐述了TCP和UDP的通信过程。在Golang中实现IPv6UDP通信的代码示例给出,包括客户端和服务器端的功能函数,展示了如何创建UDP连接、发送和接收数据。此外,还提供了使用nc工具进行本地测试的方法。
最低0.47元/天 解锁文章
1152

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



