Linux地址信息函数:获取本端和远端的socket地址
来源:互联网 发布:mac过滤广告插件 编辑:程序博客网 时间:2024/05/22 04:35
1、在某些情况下想知道一个连接着的socket的本端地址,以及远端的socket地址,可以使用下面的两个函数。
获取本端的socket地址:
#include <sys/socket.h>int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
获取远端的socket地址:
#include <sys/socket.h>int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
2、sockaddr 和sockaddr_in结构体区别
struct sockaddr { sa_family_t sa_family; char sa_data[14];}
struct sockaddr_in{ short sin_family;/*Addressfamily一般来说AF_INET(地址族)PF_INET(协议族)*/ unsigned short sin_port;/*Portnumber(必须要采用网络数据格式,普通数字可以用htons()函数转换成网络数据格式的数字)*/ struct in_addr sin_addr;/*Internetaddress*/ unsigned char sin_zero[8];/*Samesizeasstructsockaddr没有实际意义,只是为了 跟SOCKADDR结构在内存中对齐*/};
3、函数使用方法示例。
struct sockaddr_in addr; socklen_t addr_len = sizeof(struct sockaddr_in); /* 获取本端的socket地址 */ nRet = getsockname(nClientFd,(struct sockaddr*)&addr,&addr_len); if(nRet == -1) { perror("getsockname error: "); return -1; } printf("this socket addr %s %d successful\n",inet_ntoa(addr.sin_addr),ntohs(addr.sin_port));
0 0
- Linux地址信息函数:获取本端和远端的socket地址
- 在linux下 获取本机MAC地址的函数
- 在linux下获取本机MAC地址的函数
- socket 获取本机地址
- linux下 获取本机ip地址和掩码地址
- linux下 获取本机ip地址和掩码地址
- linux 利用ioctl函数获取IP地址、子网掩码、MAC地址和修改本机IP地址、子网掩码、网关
- 用Socket获取本机IP地址和机器名
- vbscript获取本机的ip地址和mac地址
- java获取本机的IP地址和mac地址
- Qt 获取本机的IP地址和Mac地址
- 获取本机的IP地址和Mac地址
- c# socket 获取本机的IP地址
- c# socket 获取本机的IP地址
- 通过socket获取本机网络接口的IP地址和状态
- SOCKET 编程 获取本机IP 地址
- socket获取本机IP地址方法
- Python+socket获取本机IP地址
- margin和padding理解
- mysql安装 一 rpm包安装(step by step)
- MySQL基础
- 【mysql】mysql中主外键关系(详细精讲)
- 二叉树常见面试题
- Linux地址信息函数:获取本端和远端的socket地址
- h5页面-1
- 使用jsoup加载网页数据(一)
- 构造器与方法的区别
- 【mysql】如何做到表内存在同名字段就更改记录,不存在就新增记录(replace的详细使用)
- C# WINFORM 完全开发手册(原创)
- 是否可以修改 JavaScript 的本地对象(native object)
- Linux下RPM软件包的安装及卸载
- first