SocketAddress相关

2013年5月9日 由 Creater 留言 »

1.使用operator重载了两个隐式转换

	virtual operator struct sockaddr *() = 0;
	virtual operator socklen_t() = 0;

2.使用Convert来对套接字结构转换成易读的字符串形式

virtual std::string Convert(bool include_port) = 0;

3.使用GetCopy函数来获取一个副本,而且使用了auto_ptr包裹。

virtual std::auto_ptr<SocketAddress> GetCopy() = 0;

4.Reverse来实现对该套接字结构同步解析。

virtual std::string Reverse() = 0;

Ipv4来说:
1.首先继续并实现了两个隐式转换的虚函数

	operator struct sockaddr *();
	operator socklen_t();

2.套接字结构到文本的转换.注意到第二个函数为静态函数,因为他的参数不是使用该类的成员,而是外部传入。

std::string Convert(bool include_port = false);
static	std::string Convert(struct in_addr& a);

3.同步解析与同步逆向解析

	std::string Reverse();
static	bool Resolve(const std::string& hostname,struct in_addr& a);
static	bool Reverse(struct in_addr& a,std::string& name);
广告位

发表评论

你必须 登陆 方可发表评论.