#include <stdio.h>
#include <string.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <pthread.h> #define NUM 20 void *working(void *args) { in_addr* inaddr = (in_addr* )args;
//inaddr.s_addr=*(int *)args; for(int i=; i<; i++) {
//char buf[16];
//const char* ptr; //ptr = inet_ntop(AF_INET, inaddr, buf, sizeof(buf));
//printf("%s\t%u\n", ptr,(unsigned)pthread_self()); char *ptr = inet_ntoa(*inaddr);
printf("%s\t%u\n", ptr,(unsigned)pthread_self());
}
return NULL;
} int main(int argc,char**argv){
int i; int nip = ; pthread_t child[NUM];
for(i=; i<NUM; i++) {
int ip = nip + i; in_addr inaddr;
inaddr.s_addr=ip; //char buf[16];
//const char* ptr; //ptr = inet_ntop(AF_INET, &inaddr, buf, sizeof(buf));
//printf("%s\t%u\n", ptr,(unsigned)pthread_self()); //char buf[20];
//char *ptr = inet_ntoa(inaddr);
//printf("%s\t%u\n", ptr,(unsigned)pthread_self()); //pthread_create(&child[i], NULL, working, &ip); pthread_create(&child[i], NULL, working, &inaddr);
} for(i=; i<NUM; i++) {
pthread_join(child[i], NULL);
} }
inet_ntoa 不是线程安全的。
aaarticlea/png;base64,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" alt="" />

结论:
传ip 进去, 是无论怎么调用都是同一个ip显示,但却不连续, 135 直接到 137 。
传in_addr进去, 同一个线程内都不能保证同一个ip了。

同一个线程内传入的ip是可以保证这个ip一直不变的。

aaarticlea/png;base64,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" alt="" />

c++ ip地址相关的更多相关文章

  1. 你应该知道的ip地址相关知识

    IP地址是一个网卡在网络世界里的通讯地址,相当于我们家里的门牌号码.这样类比的话,很显然ip地址是唯一的.在windows系统中,我们可以使用 ipconfig 命令查看本机的ip地址相关信息: 图中 ...

  2. IP地址相关知识

    IP地址基本概念                                                                                            ...

  3. IP地址相关运算(如VLSM,超网汇总)

    1.根据IP地址+子网掩码算出IP地址所在的网段(网络号) 例子: IP地址192.168.10.33,子网掩码为:255.255.255.240 (/28) ,写出所在的网络号 1.得出子网的块大小 ...

  4. 笔记:修改centos的IP地址相关配置

    最近碰到不少认识的人问相关问题 索性做个笔记 图个方便 修改eth0的网卡配置vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPR ...

  5. IP地址、域名、域名解析系统相关

    IP地址(Internet Protocol Address) 它来自TCP/IP协议,存在于其中的IP层,用于实现不同计算机之间的通信,类似于门牌号. 设计之处,IP地址是准备给地球上每一台计算机一 ...

  6. 正确获得android设备的IP地址

    网上此类获得android设备IP地址相关的文章有不少,有一篇是比较通用的,但有一个问题:有些设备默认的是IPv6的地址,那段代码获得的就是IPv6的地址.但这显然不是我们想要的,我们需要的是IPv4 ...

  7. IP地址段遍历

    #region 搜索ftp服务器地址 /// <summary> /// 搜索ftp服务器 /// </summary> public void SearchFtpServer ...

  8. 如何根据HttpServletRequets获取用户真实IP地址

    最近的一个项目的某个功能获取用户的ip地址,添加用户的系统使用记录. 我发现当我直接使用getRemoteAddr()方法从HttpServletRequet中获取用户的ip时,获取到的是服务器的ip ...

  9. 总结描述用户和组管理类命令的使用方法,系统用户相关信息,取出主机IP地址

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. [root@db146 ~]# who|cut -f1 -d' ' |sort -u root 2.取出最后 ...

随机推荐

  1. JavaScript API 设计原则

    网+线下沙龙 | 移动APP模式创新:给你一个做APP的理由>> 好的 API 设计:在自描述的同时,达到抽象的目标. 设计良好的 API ,开发者可以快速上手,没必要经常抱着手册和文档, ...

  2. 网络流量监控工具iftop

    #-------------------网络流量监控工具iftop---------------##! /bin/sh #1.首先安装依赖关系包yum install flex byacc libpc ...

  3. ThinkPHP常用变量

    __ROOT__  : 网站根目录地址 __APP__  : 当前项目(入口文件)地址 __GROUP__:当前分组地址 __URL__  : 当前模块地址 __ACTION__ : 当前操作地址 _ ...

  4. [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySql+PHP) Part II

    接着上一节继续搭建我们的LNMP平台,接下来我们安装PHP相关的服务 sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5- ...

  5. mysql 根据生日计算年龄,并查询在18-25之间的语句

    select id, DATE_FORMAT(birthday,"%Y-%m-%d") birthday, CURDATE() , (year(now())-year(birthd ...

  6. U盘启动

    2014.4.3修改 其实用U盘制作系统也可以下载一个软碟通UltraISO,就可以很方便的制作. ----以前的版本 用U盘装系统,很方便快捷,下面这个网站介绍的比较详细,于是自己整理了一下,作为收 ...

  7. Python 初学(一) 标识符

    Python 标识符 在python里,标识符由字母.数字.下划线组成: python中的标识符是区分大小写的: 1)以单下划线开头(_foo)的代表不能直接访问的类属性,需要通过类提供的接口进行访问 ...

  8. 仿SDWebImage

    仿SDWebImage 目标:模拟 SDWebImage 的实现 说明:整体代码与之前博客上的演练代码的基本一致,只是编写顺序会有变化! 在模仿 SDWebImage 之前,首先需要补充一个知识点:N ...

  9. Ubuntu下部署java JDK和eclipse IDE

    安装Java编程开发环境: Ubuntu默认安装openjava,可以通过java -version查看是否安装.但我使用Ubuntu9.10升级到10.04LTS时,openjava没有了.另外,如 ...

  10. 学长们的求职血泪史(C/C++/JAVA)

    以下分三个方向讲解,每个方向都是一个学长独自撰稿. (一)  C语言篇 C语言求职血泪史 华为(实习):机试.一面.性格测试被鄙视.优招被鄙视.普招被鄙视 锐捷:笔试.面试莫名其妙被鄙视 创新工场:笔 ...