通过网络socket获取对方 ip 和port】的更多相关文章

int getpeername(int s, struct sockaddr *name, socklen_t *namelen);描述获取socket的对方地址struct sockaddr_in sa;int len = sizeof(sa);if(!getpeername(sockfd, (struct sockaddr *)&sa, &len)){printf( "对方IP:%s ", inet_ntoa(sa.sin_addr));printf( "…
Linux下的C Socket编程(二) 获取域名对应的IP地址 经过上面的讨论,如果我们想要连接到远程的服务器,我们需要知道对方的IP地址,系统函数gethostbyname便能够实现这个目的.它能够获取域名对应的IP地址并且返回一个hostent类型的结果.其中包含了IP地址信息,他的头文件为netdb.h. struct hostent { char *h_name; // 主机名 char **h_aliases; // 别名列表 int h_addrtype; // 地址类型 int…
struct sockaddr addr;struct sockaddr_in* addr_v4;int addr_len = sizeof(addr); //获取local ip and portZeroMemory(&addr, sizeof(addr)); if (0 == getsockname(s, &addr, &addr_len)){    if (addr.sa_family == AF_INET)    {         addr_v4 = (sockaddr_…
获取本地 ip 地址,mac,通过域名获取对应的 ip, 是网络编程可能遇到的比较常见的操作了,所以总结如下(封装了3个函数), 直接上代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <unistd.h> #include <netdb.h> #include <net/if.h> #inc…
// 獲取本地以及遠程的IP和port setsockopt(clientfd, SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT, (char *)&listenfd, sizeof(listenfd)); struct sockaddr_in laddr, raddr; int laddr_len = sizeof(sockaddr_in), raddr_len = sizeof(sockaddr_in); getsockname(clientfd, (struct…
1.通过已经连接的socket文件获取: int getpeermac( int sockfd, char *buf ) { int ret =0; struct arpreq arpreq; struct sockaddr_in dstadd_in; socklen_t  len = sizeof( struct sockaddr_in ); memset( &arpreq, 0, sizeof( struct arpreq )); memset( &dstadd_in, 0, size…
1.  虚拟机中NAT架构的网络结构中, 虚拟网卡VMnet8(192.168.134.1)是连接宿主主机. 用虚拟网段中主机(192.168.134.133),ping  VMnet8 为什么没有响应,说明此网卡不在虚拟网段??? NAT虚拟网段中: (1)NAT服务器,DNS服务器的IP,  A:192.168.134.2(充当网关,要进行网络地址转换) (2)虚拟主机IP,   B:192.168.134.133 (3)与宿主主机通信的虚拟网卡, C:192.168.134.1 宿主主机I…
今天有个朋友问我怎样訪问手机ip,上网找了几个,用了近200多行代码,最后发现头文件用的居然还是Linux中的,OC没有这个头文件.感觉socket本身应该能够后去自己的ip就试了一下,果然7.8行代码就攻克了.这个基本是c的socket,差点儿通用,别的平台也能够使用. - (NSString *)getLocalIP{ struct sockaddr_in sa; socklen_t len = sizeof(sa); if(getsockname(sockfd, (struct socka…
一.原理: 首先要理解基本的原理,2台电脑间实现TCP通讯,首先要建立起连接,在这里要提到服务器端与客户端,两个的区别通俗讲就是主动与被动的关系,两个人对话,肯定是先有人先发起会话,要不然谁都不讲,谈什么话题,呵呵!一样,TCPIP下建立连接首先要有一个服务器,它是被动的,它只能等待别人跟它建立连接,自己不会去主动连接,那客户端如何去连接它呢,这里提到2个东西,IP地址和端口号,通俗来讲就是你去拜访某人,知道了他的地址是一号大街2号楼,这个是IP地址,那么1号楼这么多门牌号怎么区分,嗯!门牌号就…
1 这些都是什么 既然是网络传输,涉及几个系统之间的交互,那么首先要考虑的是如何准确的定位到网络上的一台或几台主机,另一个是如何进行可靠高效的数据传输.这里就要使用到TCP/IP协议. 1.1 TCP/IP协议组   TCP/IP协议(传输控制协议)由网络层的IP协议和传输层的TCP协议组成. IP层负责网络主机的定位,数据传输的路由,由IP地址可以唯一的确定Internet上的一台主机. TCP层负责面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象. TCP/IP是个协议组,可分…