UDP与TCP回声服务器客户端实现解析
1. UDP客户端逻辑
1.1 包含头文件
UDP客户端需要包含以下头文件:
#include <array>
#include <string>
#include <iostream>
#include <stdexcept>
#include <unistd.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
1.2 客户端类定义
使用类 myclient 来创建客户端,利用RAII机制管理资源:
class myclient
{
int m_fd{};
struct sockaddr_in m_addr{};
public:
explicit myclient(uint16_t port)
{
if (m_fd = ::socket(AF_INET, SOCK_DGRAM, 0); m_fd == -1) {
throw std::runtime_error(strerror(errno));
}
m_addr.sin_family = AF_INET;
m_addr.sin_port = htons(port
超级会员免费看
订阅专栏 解锁全文
17

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



