对于server端:

以端口为通配符方式bind:对于服务器,bind(0,ip),则调用bind函数之后,就可以调用getsockname获取服务器得到的本地端口号

以ip地址为通配地址bind,只有accept返回之后,调用getsockname(connfd,......)才会返回服务器得到的本地ip地址

对于client端:

由于不绑定bind,所以当connect()函数成功之后(完成三次握手),可以调用getsockname可以得到本地端口号和ip地址

getpeername():

server调用accept()之后,再调用exec,要获取客服端的套接字地址结构,只能通过调用getpeername(connfd, (struct sockaddr *)&peerAddr, &peerLen);

getsockname()和getpeername()的更多相关文章

  1. UNIX网络编程——getsockname和getpeername函数

    UNIX网络编程--getsockname和getpeername函数   来源:网络转载   http://www.educity.cn/linux/1241293.html     这两个函数或者 ...

  2. 关于 getsockname、getpeername和gethostname、gethostbyname

    一.gethostname,gethostbyname的用法 这两个函数可以用来获取主机的信息.gethostname:获取主机的名字gethostbyname:通过名字获取其他的信息(比如ip) 1 ...

  3. Socket层实现系列 — getsockname()和getpeername()的实现

    本文主要介绍了getsockname()和getpeername()的内核实现. 内核版本:3.6 Author:zhangskd @ csdn blog 应用层 int getsockname(in ...

  4. 利用 getsockname 和 getpeername 来获取某一个链接的本地地址和远端地址

    在两台计算机上建立一个网络连接,需要五个要素:本机地址 本机端口 协议类型 远端端口 远端地址.那么如何从一个建立好的连接上获取这些信息呢.就需要用到 getsockname  和 getpeerna ...

  5. UNIX网络编程学习(9)--getsockname和getpeername的用法及实例(转)

    getsockname和getpeername #include <sys/socket.h>int getsockname(int sockfd, struct sockaddr *lo ...

  6. getsockname和getpeername

    int getsockname(int sockfd, struct sockaddr *localaddr, socklen_t *addrlen);  // 获取与某个套接字关联的本地协议地址 i ...

  7. getsockname和getpeername函数

    这2个函数或者返回与某个套接字关联的本地协议地址(getsockname),或者返回与某个套接字关联的外地协议地址(getpeername) int getsockname(int sockfd, s ...

  8. 关于getsockname()/getpeername()函数第一次被调用得到0.0.0.0结果的说明

    最近阅读UNIX网络编程第四章时,书本末尾介绍了两个函数getsockname()和getpeername(),可以用于获取服务器端和客户端的IP地址与端口,原本很简单的两个函数,过一眼即明白函数的用 ...

  9. 套接字之 getsockname && getpeername

    getsockname-获取本地地址:比如,在绑定的时候设置端口号为0由系统自动选择端口绑定,或者使用了INADDR_ANY通配所有地址的情况下,后面需要用到具体的地址和端口,就可以用getsockn ...

随机推荐

  1. DataGridView风格设置

    http://blog.csdn.net/wangzhen209/article/details/51744518 http://www.cnblogs.com/hanpanpan

  2. Linux 正文处理命令及tar vi 编辑器

    root 用户不受权限设置 如果文件有x 就可以执行 对目录的权限 r:可以查看目录下面的文件名 w:可以在该目录下新建,删除,修改文件名 x:可以cd进入目录 对于文件: 可执行的文件来说需要有可读 ...

  3. 问题:oracle 不等于;结果:Oracle中的不等于号

    Oracle中的不等于号 今天碰到一个Oracle不等于的问题,最后搜索了一下,发现下面资料,拿来跟大家分享一下   关于Oracle中的不等于号: 在Oracle中, <> != ~= ...

  4. 【转载】C语言综合实验1—学生信息管理系统

    http://www.cnblogs.com/Anker/archive/2013/05/06/3063436.html 实验题目:学生信息管理系统 实验要求:用户可以选择1-7可以分别进行学生信息的 ...

  5. sql 的积累

    sql的积累 By:山高似水深 原创 转载注明出处 .REVERSE() 反转 例如: Hive 可用 2016年12月3日11:31:59 2.instr(str,'.')位置 结果:得出在str中 ...

  6. hbase.client.RetriesExhaustedException: Can't get the locations hive关联Hbase查询报错

    特征1: hbase.client.RetriesExhaustedException: Can't get the locations 特征2: hbase日志报错如下:org.apache.zoo ...

  7. MongoDB数据导入hbase + 代码

    需求: 从mongoDB里面查出来数据,判断是否有该列簇,如果有则导入此条数据+列簇,如果没有,则该条数据不包含该列簇 直接贴出代码: package Test; import java.util.A ...

  8. spirng boot web配置开发

    spring-booter-starter-web是spring-boot web发开的核心,自动配置信息存储在spring-boot-autoconfigure.jar 下面的web目录里面,包含了 ...

  9. Hbuilder实用技巧(转)

    Hbuilder实用技巧 原创 2016年05月19日 10:25:42 标签: hbuilder 操作 16551 1. Q:怎么实现代码追踪? A:在编辑代码时经常会出现需要跳转到引用文件或者变量 ...

  10. Java线程池拒绝策略

    Java线程池拒绝策略 相关资料: 线程池的RejectedExecutionHandler(拒绝策略):http://blog.csdn.net/jgteng/article/details/544 ...