博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
套接字中一些函数的使用
阅读量:7309 次
发布时间:2019-06-30

本文共 779 字,大约阅读时间需要 2 分钟。

    struct sockaddr_in inet_address;

    socklen_t          name_length = sizeof(inet_address);
    if (getsockname(m_SocketFdReference->m_SocketFd,
                    (struct sockaddr*)&inet_address,
                    &name_length) == 0) {
        m_Info.local_address.SetIpAddress(ntohl(inet_address.sin_addr.s_addr));
        m_Info.local_address.SetPort(ntohs(inet_address.sin_port));
    }   

getsockname()用于获取一个的名字。它用于一个已捆绑或已连接s,本地地址将被返回。本调用特别适用于如下情况:未调用就调用了,这时唯有getsockname()调用可以获知系统内定的本地地址。在返回时,namelen参数包含了名字的实际字节数。

getpeername()用于从端口s中获取与它捆绑的端口名,并把它存放在sockaddr类型的name结构中。它适用于数据报或流类。

    // get the peer socket addr
    if (getpeername(m_SocketFdReference->m_SocketFd,
                    (struct sockaddr*)&inet_address,
                    &name_length) == 0) {
        m_Info.remote_address.SetIpAddress(ntohl(inet_address.sin_addr.s_addr));
        m_Info.remote_address.SetPort(ntohs(inet_address.sin_port));
    }  

转载地址:http://uodim.baihongyu.com/

你可能感兴趣的文章
hadoop启动时,报ssh: Could not resolve hostname xxx: Name or service not known
查看>>
我的友情链接
查看>>
心态与处理问题的方式
查看>>
ubuntu配置ftp服务和ssh服务
查看>>
Hadoop学习--伪分布式部署--day01
查看>>
Spring中Bean的配置
查看>>
react-webpack
查看>>
重启ipconfig 时,出现错误:Error: Connection activation failed.....解决方法
查看>>
我的校园,我的无忧网
查看>>
xcode通配符及开发环境设置
查看>>
我的友情链接
查看>>
windows server 2008创建活动目录
查看>>
专门供开发者使用的免费的虚拟机资源:超能云 (SuperVessel Cloud)
查看>>
ios开发图形绘制
查看>>
图像处理小结
查看>>
只显示指定网卡IP地址命令
查看>>
关于struts1.x action中方法的命名规范
查看>>
我的友情链接
查看>>
转发: VM Depot 喜迎中国本土开源镜像!
查看>>
Zabbix服务器yum安装
查看>>