//获取本地IP地址和对端IP地址

 1 //获取本地IP地址
 2 CHAR * GetLocalIpAdrr(int fd)
 3 {
 4     struct sockaddr_in stHost;
 5     memset(&stHost, 0, sizeof(stHost));
 6 
 7 #ifdef _WIN32
 8     INT iLen = sizeof(stHost);
 9 #else
10     socklen_t iLen = sizeof(stHost);
11 #endif
12     CHAR * szHostIp;
13 
14     if(0 != getsockname((UINT)fd, (sockaddr *)&stHost, &iLen))
15     {
16         g_enErrorCode = PU_ERROR_CODE_SOCKET_ERROR;
17         return NULL;
18     }
19     szHostIp = inet_ntoa(stHost.sin_addr);
20 
21     return szHostIp;
22 }
23 
24 //获取对端IP地址
25 CHAR * GetRemoteIpAddr(int fd)
26 {
27     struct sockaddr_in stRemote;
28     memset(&stRemote, 0, sizeof(stRemote));
29 
30 #ifdef _WIN32
31     INT iLen = sizeof(stRemote);
32 #else
33     socklen_t iLen = sizeof(stRemote);
34 #endif
35     CHAR * szRemoteIp;
36 
37     if (0 != getpeername((UINT)fd, (sockaddr *)&stRemote, &iLen))
38     {
39         g_enErrorCode = PU_ERROR_CODE_SOCKET_ERROR;
40         return NULL;
41     }
42     szRemoteIp = inet_ntoa(stRemote.sin_addr);
43     return szRemoteIp;
44 }

转载于:https://www.cnblogs.com/xuejianhui/archive/2012/09/10/2678480.html

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

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

相关文章

第一个Django应用程序_part1

一、查看Django是否安装 参考文档:https://docs.djangoproject.com/en/1.11/intro/tutorial01/ 如果Django已经安装,可以看到安装的版本号,如果没有安装则会看到“No module named django”的错误。 MacBook-Pro:~ h$ python3 -m django --ve…

rsa加密c语言源码库,RSA加密算法源代码C语言实现.doc-资源下载在线文库www.lddoc.cn...

RSA加密算法_源代码__C语言实现.docRSA 算法 1978 年就出现了这种算法,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名Ron Rivest, AdiShamir 和 Leonard Adleman。但 RSA 的安全性一直未…

Apollo2.5摄像头安装

前言:在Apollo美研团队和长沙CiDi团队的支持下,最近完成了Apollo推荐的摄像头AR023ZWDR(Rev663F12)调试,在这里对Apollo的笔记做一个补充,希望以后的开发者不用在踩我们踩过的坑。 在本博客中提到的补充文件在我的百度网盘中&…

Linux下查看出口IP

使用的几个其他的命令,好像这个都不太靠谱。 但也想写一个很简单的程序就在服务器端的request里面能取得IP, 这个也有人已经在公网上有这样的程序啊 所以这个就简单了 wget http://members.3322.org/dyndns/getipcat getip 这样试试吧。

r语言教程w3c,R语言 数据库

数据是关系数据库系统以规范化格式存储。 因此,要进行统计计算,我们将需要非常先进和复杂的Sql查询。 但R语言可以轻松地连接到许多关系数据库,如MySql,Oracle,Sql服务器等,并从它们获取记录作为数据框。 一…

HTML 文档流和文本流的理解

文本流,概括地说其实就是一系列字符,是文档的读取和输出顺序,也就是我们通常看到的由左到右、由上而下的读取和输出形式,在网页中每个元素都是按照这个顺序进行排序和显示的,而position属性可以将元素从文本流脱离出来…

CCNA实验(一)

无线局域网(WLAN)回顾 使用无线射频信号、载波监听多路访问/冲突避免、半双工。 无线AP相当于以太网的HUB。 有些频段是受限的。 无线信号遇到的问题: l 反射 l 散射 l 信号吸收(比如说穿墙) 无线标准 l ITU-R l …

linux中postfix(基于源码)的邮件系统

一、安装前的准备工作: 首先配置yum服务器,安装dns 1、安装所需的rpm包,这包括以下这些: httpd, php, php-mysql, mysql, mysql-server, mysql-devel, openssl-devel, dovecot, perl-DBD-MySQL, tcl, tcl-devel, libart_lgpl, li…

UE4 集成讯飞听写插件

搞了几天,有些坑记录一下。 3个方面的知识需要学习 1、制作UE4插件 2、引入第三方库 3、讯飞听写的api 一看是参考 https://blog.csdn.net/u012793104/article/details/78067937 http://doc.xfyun.cn/msc_windows/%E8%AF%AD%E9%9F%B3%E5%90%AC%E5%86%99.html API&am…

c51单片机有几个终端语言,吃过大亏,才知道要从51单片机入手

原标题:吃过大亏,才知道要从51单片机入手在这里,我就不说什么是单片机了,而是说说怎样学单片机,就我个人而言先学51,因为这个单片机在中国市场上发展了几十年了,现在工程中用的比较多的也是MCS-51, 它的资料…

c primer plus(第五版)读书笔计 第二章(3)

// 2-2.c --------把两个fathoms换算成英尺#include <stdio.h>int main (void){int feet, fathoms;fathoms 2;feet 6 * fathoms;printf ("There are %d feet in %d fathoms !\n",feet,fathoms);printf ("Yes , I said %d feet !\n",6 * fathoms);r…

云计算-openstack简介

云计算云计算是一种按使用量付费的模式&#xff0c;这种模式提供可用的、便捷的、按需的网络访问&#xff0c; 进入可配置的计算资源共享池&#xff08;资源包括网络&#xff0c;服务器&#xff0c;存储&#xff0c;应用软件&#xff0c;服务&#xff09;&#xff0c;这些资源能…

C语言循环不执行语句,求大神来看一下 为什么for循环中scanf语句不执行?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#define MAX_VERTEX_NUM 20typedef struct{char vexs[MAX_VERTEX_NUM];// 顶点向量int AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];// 邻接矩阵intvexnum, arcnum;// 顶点数、边/弧数}MGraph;int n,path[100];bool visite…

医疗项目中对网编的一些理解看法

医疗项目中对网编的一些理解看法。做网络营销都有一个前提&#xff0c;那就是以用户为中心&#xff0c;站在用户的角度考 虑问题。在网络营销中&#xff0c;网编如何提升充实自己&#xff1f;怎么获得信息渠道&#xff1f;见多&#xff1a;多看&#xff0c;多了解行业的变化&am…

android 自定义view画表格,Android自定义View实现课程表表格

自己闲下来时间写的一个课表控件&#xff0c;使用的自定义LinearLayout&#xff0c;里面View都是用代码实现的&#xff0c;最终效果如下图&#xff0c;写的可能有问题希望多多指点创建一个自定义LinearLayout 控件用来装载课程的信息和课程的周数&#xff0c;和节数大概的布局三…

26.中继器数据的添加与删除

选择中继器里面的数据集再选择增加行 勾上之后选择下方的增加行就可以填入数据了 用变量获取用户输入的各项内容 但是图片不能用公式操作 方法&#xff1a;通过右键单击图片获得图片的地址 图片中蓝色的部分就是相对路径 把这个路径放到中继器的数据里就可以用了 以上是添加&am…

如何在android模拟器中安装apk软件

这个是我从别的网站上看到的&#xff0c;而且亲身试验了&#xff0c;是可以的&#xff0c;和大家分享一下&#xff01;如何在模拟器上安装apk软件 首先我们需要的是在电脑上安装Android系统的模拟器。安装模拟器&#xff0c;需要需要下载Android SDK&#xff1a;SDK由官方网站…

android工作机制和内核,android内核剖析学习笔记:AMS(ActivityManagerService)内部原理和工作机制...

一、ActivityManagerService提供的主要功能&#xff1a;(1)统一调度各应用程序的Activity(2)内存管理(3)进程管理二、启动一个Activity的方式有以下几种&#xff1a;(1)在应用程序中调用startActivity启动指定的Activity(2)在Home程序中单击一个应用图标&#xff0c;启动新的Ac…

从.Net到Java学习第四篇——spring boot+redis

从.Net到Java学习系列目录 “学习java已经十天&#xff0c;有时也怀念当初.net的经典&#xff0c;让这语言将你我相连&#xff0c;怀念你......”接上一篇&#xff0c;本篇使用到的框架redis、FastJSON。 环境准备 安装redis&#xff0c;下图是我本机的redis绿色版&#xff0c;…

hdu 4409 Family Name List LCA +stl

http://acm.hdu.edu.cn/showproblem.php?pid4409 赛后才过只能说悲剧了&#xff0c;知道思路&#xff0c;stl不熟悉&#xff0c;所以导致写的很慢....占据了很多时间&#xff0c;手速代码准确度。。哎。。。 题意&#xff1a; 给你一个家谱&#xff0c;n个人的姓名&#xff0c…