使用ACE_SOCK_SEQPACK_Association获取socket连接的本地及远程IP端口信息

int connect(const std::string& ip, int port)
{
    ACE_INET_Addr portAddr(port, ip.c_str());
    ACE_SOCK_Connector connector;
    ACE_SOCK_Stream peer;

    if (-1 == connector.connect(peer, portAddr))
    {
        std::cout << "连接服务器(" << ip << ":" << port << ")失败: " << ACE_OS::strerror(ACE_OS::last_error()) << std::endl;
        return -1;
    }

    ACE_INET_Addr local;
    size_t addr_size = 1;
    ACE_SOCK_SEQPACK_Association ssa(peer.get_handle());
    ssa.get_local_addrs(&local, addr_size); // 获取连接本地的IP和端口

    char buff[64] = { 0 };
    local.addr_to_string(buff, 63); // 格式为IP:Port
    std::cout << buff << std::endl;

    ACE_INET_Addr remote;
    addr_size = 1;
    ssa.get_remote_addrs(&remote, addr_size); // 获取连接远端的IP和端口
    ACE_OS::memset(buff, 0, 64);
    local.addr_to_string(buff, 63); // 格式为IP:Port
    std::cout << buff << std::endl;

    return 0;
}

转载于:https://www.cnblogs.com/panjianfeng1979/archive/2013/05/10/3070634.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux批处理操作系统_批处理操作系统

linux批处理操作系统批处理操作系统 (Batch Processing Operating System) When we are working in an environment there is a restriction of making use of computer resources effectively and improvement in the programmers output. When we are working with tapes a l…

STL容器及其简单应用(stack、priority_queue、vector、deuqe、list、map/multimap、set/multiset)

目录前言【1】stack操作以及应用stack的几个核心接口利用stack完成进制转换【2】priority_queue操作以及应用priority_queue的几个核心接口利用priority_queue完成合并果子问题【3】vector操作以及应用vector的几个核心接口利用vector完成随机排序【4】deuqe(双向队列)操作以及…

Android SAX API: XmlResourceParser及其扩展应用

XmlResourceParser继承了2个接口&#xff1a;AttributeSet和XmlPullParser。其中XmlPullParser定义了Android SAX框架。跟Java 的SAX API相比&#xff0c;XmlPullParser令人难以置信地简单。 一、使用XmlResourceParser读取资源束中的xml 资源束是应用程序编译后的应用程序包…

linux fdisk 磁盘空间使用率,linux查看磁盘剩余空间以及cpu使用情况

1、查看CPU个数cat /proc/cpuinfo | grep "physical id" | uniqtop可以实时的查看cpu的使用情况2、查看CPU核数cat /proc/cpuinfo | grep "cpu cores" | uniq3、查看CPU型号cat /proc/cpuinfo | grep model name |uniq4、查看内存cat /proc/meminfo | grep…

c语言 函数的参数传递示例_restder()函数,带有C ++中的示例

c语言 函数的参数传递示例C restder()函数 (C remainder() function) remainder() function is a library function of cmath header, it is used to calculate the remainder (IEC 60559), it accepts two parameters (numerator and denominator) and returns the remainder…

jquery validation-jquery的验证框架 详解(1)

jquery validation验证框架是一款非常优秀的客户端数据验证框架。我们在日常的项目中都会应用得到。今天开始我们会分两到三个个阶段 详细的了解这款插件 至于这款插件是多么的优秀&#xff0c;怎么个描述法 我这里就不详细述说。大家可以在接下来的时间里接触并且感觉它的强大…

已知一个掺杂了多个数字字符的中文名拼音,去掉所有数字字符之后,形式为“名”+空格+“姓”;并且名和姓的首字母大写,其他小写,要求输出姓名全拼,且全为小写。(后附详细样例说明)

已知一个掺杂了多个数字字符的中文名拼音&#xff0c;去掉所有数字字符之后&#xff0c;形式为“名”空格“姓”&#xff1b;并且名和姓的首字母大写&#xff0c;其他小写&#xff0c;要求输出姓名全拼&#xff0c;且全为小写。&#xff08;后附详细样例说明&#xff09; 【输入…

【视觉项目】【day2】8.21号实验记录(手机固定高度15cm拍摄+直方图均衡化+模板匹配,模板12个,测试28个,效果十分差)

目录均衡化代码模板图片按照大小排序总代码测试效果新思路由于模板匹配是像素之间的比对&#xff0c;所以不同光照下的像素灰度值也会不同 所以在比对之前&#xff0c;我们需要对测试图和模板图进行直方图均衡化&#xff0c;这一步可以先实现。 今天将采用批量处理的方式&#…

c语言 函数的参数传递示例_isgreater()函数以及C ++中的示例

c语言 函数的参数传递示例C isgreater()函数 (C isgreater() function) isgreater() function is a library function of cmath header, it is used to check whether the given first value is greater than the second value. It accepts two values (float, double or long…

在一个风景秀丽的小镇,一天早上,有N名晨跑爱好者(编号1~N)沿着优雅的江边景观道朝同一方向进行晨跑

【问题描述】 在一个风景秀丽的小镇&#xff0c;一天早上&#xff0c;有N名晨跑爱好者(编号1~N)沿着优雅的江边景观道朝同一方向进行晨跑&#xff0c;第i名跑者从位置si处起跑&#xff0c;且其速度为Vi。换句话说&#xff0c;对所有的实数t≥0&#xff0c;在时刻t时第i名跑者的…

linux内核测试,Linux内核测试的生命周期

内核持续集成(CKI)项目旨在防止错误进入 Linux 内核。在 Linux 内核的持续集成测试 一文中&#xff0c;我介绍了 内核持续集成Continuous Kernel Integration(CKI)项目及其使命&#xff1a;改变内核开发人员和维护人员的工作方式。本文深入探讨了该项目的某些技术方面&#xff…

Linux下动态库使用小结

1. 静态库和动态库的基本概念 静态库&#xff0c;是在可执行程序连接时就已经加入到执行码中&#xff0c;在物理上成为执行程序的一部分&#xff1b;使用静态库编译的程序运行时无需该库文件支持&#xff0c;哪里都可以用&#xff0c;但是生成的可执行文件较大。动态库&#xf…

【视觉项目】【day3】8.22号实验记录(利用canny检测之后的来进行模板匹配)

【day3】8.22号实验记录&#xff08;几乎没干正事的一天&#xff0c;利用canny检测之后的来进行模板匹配&#xff09; 今天没搞代码&#xff0c;主要是问研究生学长工业摄像头的接法的&#xff0c;学长也不知道&#xff0c;明天问问老师。。。 晚上搞了一下canny之后的模板匹配…

scala字符替换_如何替换Scala中的“坏”字符?

scala字符替换In Scala, programming language, all sorts of special characters are valid. The character set library is quite good and supports almost all characters in Scala programming. 在编程语言Scala中&#xff0c;各种特殊字符均有效。 字符集库非常好&#x…

linux dd 大文件下载,Linux dd+grep 大文件二分查找

Linux dd 命令用于读取、转换并输出数据。dd 可从标准输入或文件中读取数据&#xff0c;根据指定的格式来转换数据&#xff0c;再输出到文件、设备或标准输出。参数说明(dd --help)Usage: dd [OPERAND]...or: dd OPTIONCopy a file, converting and formatting according to th…

【视觉项目】【day1】8.20号实验记录(初步使用模板匹配)

目录【day1】8.20号实验记录&#xff08;初步使用模板匹配&#xff09;模板匹配单张图的代码利用多个模板去匹配多张图的代码写代码过程中遇到的问题【day1】8.20号实验记录&#xff08;初步使用模板匹配&#xff09; 模板匹配 利用模板匹配可以框定出瓶子&#xff0c;但是却…

第四章 纤维结构对染色性能的影响单元测验

1,利用红外光谱技术可以测定纤维的() 化学结构。 2,纤维完整的结构包括() 化学结构。 表面形态结构。 内部超分子结构。 3,纤维化学结构由于影响了纤维(),进而影响其染色性能 吸湿溶胀性能。 在染液中电离性能。 在染浴中的带电性。 与染液中各组分之间的作用力。 …

创建存储过程时出现的This function has none of DETERMINISTIC, NO SQL解决办法

This function has none of DETERMINISTIC, NO SQL解决办法创建存储过程时 出错信息&#xff1a; ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the …

如何让没有安装网页中所需字体的用户也能得到一致的浏览效果【转】

今天给大家谈一个关于字体的话题,我们在做项目的过程中会遇到一些在psd中的字体在自己的电脑中没有安装&#xff0c;或者是一些特殊的文字&#xff0c;通常的做法是把它切成图片&#xff0c;但是如果这个站是多个语言的&#xff0c;那我们是不是把每个语言的都切一张图片呢&…

【视觉项目】【day4】8.24号实验记录(消除瓶子内部“边缘”)

思路分析以及代码 思路1&#xff1a;使用findContours函数&#xff0c;设置轮廓为最外部RETR_EXTERNAL&#xff0c;结果发现结果仍然是所有轮廓。 思路2&#xff1a;先二值化&#xff0c;然后进行闭操作&#xff0c;然后canny&#xff0c;得到的轮廓确实比之前少很多&#xff…