linux下检查网络是否正常的取巧方法
来源:互联网 发布:蒙泰打印不追加数据 编辑:程序博客网 时间:2024/06/06 00:41
#ifndef WIN32
#define WSACleanup(...)
#define SOCKET int
#define WSADATA int
void closesocket(int fd)
{
close(fd);
}
#endif
char* get_ip(char* hostname)
{
char* ip = NULL;
struct hostent *pHost = gethostbyname(hostname);
if(pHost)
{
if(pHost->h_addrtype == AF_INET)
{
while ( pHost->h_addr_list[0] )
{
struct in_addr *pAddr = (struct in_addr*)pHost->h_addr_list[0];
ip = inet_ntoa(*pAddr);
printf("ip:%s\n", ip);
break;
}
}
}
return ip;
}
int check_online(char* ip)
{SOCKET conn_sock;
struct sockaddr_in remote_addr;
WSADATA wsaData;
#ifdef WIN32
WSAStartup(MAKEWORD(1,1),&wsaData);//1.1版本
#endif
conn_sock = socket(AF_INET, SOCK_STREAM, 0);
remote_addr.sin_family = AF_INET;
remote_addr.sin_port = htons(80);
remote_addr.sin_addr.s_addr = inet_addr(ip);
printf("connect\n");
int ret = connect(conn_sock, (struct sockaddr *)&remote_addr, sizeof(struct sockaddr));
closesocket(conn_sock);
WSACleanup();
if(-1 == ret)
{
printf("offline\n");
return 0;
}
else
{
printf("online\n");
return 1;
}
return 0;
}
check_online(get_ip("www.baidu.com"));
- linux下检查网络是否正常的取巧方法
- 检查网络是否正常
- 检查网络是否连接正常
- 检查网络是否正常使用
- 检查网络是否正常使用
- 检查网络是否连接正常
- Linux下检测网络状态是否正常
- linux下检查GCC是否安装的方法
- 检测网络连接是否正常的方法
- android 检查网络连接是否正常
- (转)检查网络是否连接正常
- winform 检查是否网络连接正常
- C#检查网络是否连接的方法
- C#检查网络是否连接的方法
- linux检查进程是否正在正常运行
- 检查网络是否连通方法
- 检查MySQL的Slave是否正常
- C#中检查网络是否连通的二种方法
- poj 1833
- 常见的Java问题排查方法
- 传递可变参数
- java中float/double浮点数的计算失去精度问题(即小数位数增加的问题)
- sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory
- linux下检查网络是否正常的取巧方法
- nginx 日志切割
- TCP/IP详解学习笔记(2)-数据链路层
- sqlite3函数使用说明1
- sqlite3函数使用说明2
- Eclipse开发调试ARM裸机程序
- 学习笔记补充
- php代码执行效率测试工具xhprof安装&使用
- Hibernate工作原理