`

POCO库中文编程参考指南(5)Poco::Net::SocketAddress

 
阅读更多

POCO库中文编程参考指南(5)Poco::Net::SocketAddress

  • 作者:柳大·Poechant
  • 博客:Blog.CSDN.net/Poechant
  • 邮箱:zhongchao.ustc#gmail.com (# -> @)
  • 日期:April 14th, 2012

1 枚举

最大地址长度,这个与Poco::Net::IPAddress中的定义可以类比,不过这里指的是`struct sockaddr_in6

enum
{
    MAX_ADDRESS_LENGTH = 
#if defined(POCO_HAVE_IPv6)
        sizeof(struct sockaddr_in6)
#else
        sizeof(struct sockaddr_in)
#endif
        /// Maximum length in bytes of a socket address.
};

2 构造函数

创建一个 wildcard 的全 0 的 IPv4 的 socket 地址:

SocketAddress();

用 Poco::Net::IPAddress 和端口号创建 IPv4 或 IPv6 的 SocketAddress:

SocketAddress(const IPAddress& host, Poco::UInt16 port);

用 std::string 和端口号创建 IPv4 或 IPv6 的 SocketAddress:

SocketAddress(const std::string& host, Poco::UInt16 port);
SocketAddress(const std::string& host, const std::string& port);
explicit SocketAddress(const std::string& hostAndPort);

拷贝构造函数:

SocketAddress(const SocketAddress& addr);

原生方式构造 SocketAddress:

SocketAddress(const struct sockaddr* addr, poco_socklen_t length);

3 常用函数

swap:

void swap(SocketAddress& addr); 

获取 IPAddress、端口和地址类型:

IPAddress host() const;
Poco::UInt16 port() const;
IPAddress::Family family() const;

获取原生方式的地址长度、地址和地址族:

poco_socklen_t length() const;  
const struct sockaddr* addr() const;
int af() const;

toString:

std::string toString() const;

4 重载运算符

bool operator == (const SocketAddress& addr) const;
bool operator != (const SocketAddress& addr) const;

5 protected 函数

void init(const IPAddress& host, Poco::UInt16 port);
void init(const std::string& host, Poco::UInt16 port);
Poco::UInt16 resolveService(const std::string& service);

-

转载请注明来自柳大的CSDN博客:Blog.CSDN.net/Poechant

-

分享到:
评论

相关推荐

    Java TCP/IP Socket编程 原书第2版

    本书的新版涵盖了Java的当前最新版本的内容(7.5版至1.7版),以及一些新的重要的抽象,包括NetworkInterface,InterfaceAddress,Inet4/6Address抽象、SocketAddress InetSocketAddressf1]Executor等。现在几乎...

    Java+TCP/IP+Socket编程 原书第2版

    在7CP/IP Socket首次发布时,Java作为一个新的未被关注的编程语 言刚出现。然而,自2001年以来,Java的网络编程能力已经得到了很大程度的扩展,而且 持续的应用优势已经使其成为了一个占主导地位的平台。考虑到Java...

    podasync:Fanap的POD异步服务(DIRANA)

    Websocket协议参数var params = { socketAddress : "ws://chat-sandbox.pod.land/ws" , serverName : "chat-server" , reconnectOnClose : true , connectionCheckTimeout : 10000 , asyncLogging : { onFunction : ...

    Z00433 Java TCP IP Socket编程 原书第2版

    在7CP/IP Socket首次发布时,Java作为一个新的未被关注的编程语言刚出现。然而,自2001年以来,Java的网络编程能力已经得到了很大程度的扩展,而且持续的应用优势已经使其成为了一个占主导地位的平台。考虑到Java受...

    Socket通信下载文件

    android客户端利用sokcet通信和向Java服务端发请求,Java服务端把文件发给android客户端

    secs4java8:该库是Java8上的SEMI-SECS通讯实现

    该库是Java8上SEMI-SECS通讯的实现。 技术支持 SECS-I(SEMI-E4) SECS-II(SEMI-E5) 创业板(SEMI-E30,部分) HSMS-SS(SEMI-E37.1) 创建Communicator实例并打开 对于使用HSMS-SS-Passive的示例 /* HSMS-...

    python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)

    UDP广泛应用于需要相互传输数据的.../usr/bin/env pythonimport socketaddress=(‘127.0.0.1’,10000)s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)s.bind(address)while 1: data,addr=s.recvfrom(2048) if not

    junixsocket:Java中的Unix域套接字(AF_UNIX)

    junixsocket junixsocket是一个Java / JNI库,允许使用Java的(AF_UNIX套接字)。为什么很酷junixsocket是一个小型的模块化库。 仅安装您需要的内容。 与其他实现相反, junixsocket扩展了Java Sockets API( java...

    network-packet-linux:Haskell软件包,用于与AF_PACKET套接字一起使用

    从版本3.0.0开始,程序包提供了一个 ,该是根据SocketAddress类型类实现的。 network-packet-linux提供了一个名为SockAddrLl的SocketAddress实例,该实例表示一个sockaddr_ll 。用法有关完整的示例文件,请参见 。 ...

    netty-debug:自己的debug的netty源码,用于后续查看曾经写过的注释

    resolver = ( AddressResolverGroup< SocketAddress> ) (resolver == null ? DEFAULT_RESOLVER : resolver); return this ;}个人clone的Netty原始码,用于自己调试,写注释等。净额项目Netty是一个异步事件驱动的...

    tinyredis:基于hiredis的简单Java redis客户端

    在掌握了基本的客户端用法后,您将无需参考 javadoc 或源代码来了解如何向服务器发送命令。 此实现背后的概念的所有功劳均属于hiredis 的原始作者。 这是hiredis 阻塞功能的Java 端口,带有一些处理字符编码和序列...

    Java NIO 聊天室 JSwing

    package com.ui.server; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ServerBootFrame extends JFrame { ... private static final long serialVersionUID = 1L;... ...

    java 大一课程设计 qq聊天程序

    InetSocketAddress socketAddress=new InetSocketAddress(address,8080); socket.connect(socketAddress); reader=new DataInputStream(socket.getInputStream()); ps=new DataOutputStream...

    TCP-IP Sockets in Java. Practical Guide for Programmers

    New abstractions to be covered include NetworkInterface, InterfaceAddress, Inet4/6Address, SocketAddress/InetSocketAddress, Executor, and others; extended access to low-level network information; ...

    netty-server中采用的分包拆包源码,java开发用于实战项目

    .localAddress(socketAddress) //设置队列大小 .option(ChannelOption.SO_BACKLOG, 1024) // 两小时内没有数据的通信时,TCP会自动发送一个活动探测数据报文 .childOption(ChannelOption.SO_KEEPALIVE, true); ...

Global site tag (gtag.js) - Google Analytics