muduo库的学习1---socket基本设计---总论

这个部分涉及最底层的一些文件,包括Endian,SocketsOps,InetAddress,Socket这几个文件。

1.基本关系与内容

它们的关系我用一个图来表示


如图所示,Endian是封装了各种大端---小端转换的函数,SocketsOps实现了许多例如socket的各种操作。

这两个文件都是位于Sockets空间命名空间之下的,它们都是直接调用linux系统函数来实现的。

后面的一些类里面的成员函数将调用Sockets空间里面的函数。


Class InetAddress专门实现了一个类来处理要用到的地址。

Class Socket是对于套接字描述符的封装的类。


2.地址问题

(1)通用套接字地址与IPv4套接字地址

通用套接字地址sockaddr

IPv4套接字地址sockaddr_in

需要进行转换

(2)网络传输与用户输入

①IP地址

实际用户习惯使用点分十进制来表示IP地址,用户输入的是一个字符串。

网络传输的是二进制值。

它们之间需要转换。

②Port

实际用户输入的是与Host相关的一种存储序。

网络传输需要使用网络序,即大端序。

它们之间需要转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值