摘要:本文改写自网上的一个程序,原始程序中为阻塞式调用,而且有现成创建的过程,非常不利于集成到自己程序中,因此对原始程序进行改造,使其可以完成发送一个imcp包的方式来判断网络连通,只需要调用改进后的 bool NetIsOK() 函数即可,该函数返回true即表示网络状态良好,否则表示网络状态不连同,本
阅读全文
随笔分类 - 网络编程
摘要:广播域首先我们来了解一下广播域的概念。广播域是网络中能接收任一台主机发出的广播帧的所有主机集合。也就是说,如果广播域内的其中一台主机发出一个广播帧,同一广播域内所有的其它主机都可以收到该广播帧。广播域的计算如何知道一台主机是属于哪一个广播域呢?其实计算很简单,只要用主机的IP地址与子网掩码进行与运算
阅读全文
摘要:用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq,它们对于大多数人来说都是比较陌生的,这里给大家一种比较简单的理解方法,当然只一种帮助理解的方法,在描述中可能会有一些地方与真实定义有所出入,仅供参考.首先先认识一下ifconf和ifreq://ifconf通常是用来保存所有接口...
阅读全文
摘要:这两天看用C获取当前网口的插入网线状态的程序,遇见了这两个不熟悉的结构体,看了头文件中的说明和详细。struct ifreq这个结构定义在include/net/if.h,用来配置ip地址,激活接口,配置MTU等接口信息的[cpp]view plaincopy/*Interfacerequestst...
阅读全文
摘要:[基础知识说明]结构原型:/** Interface request structure used for socket* ioctl's. All interface ioctl's must have parameter* definitions which begin with ifr_nam...
阅读全文
摘要:结构原型:structifreq{#defineIFHWADDRLEN6union{charifrn_name[IFNAMSIZ];} ifr_ifrn;union{structsockaddr ifru_addr;structsockaddr ifru_dstaddr;structsockaddr...
阅读全文
摘要:net_util.c #define WIRED_DEV "eth0" #define WIRELESS_DEV "ra0" #define PPPOE_DEV "ppp0"#define DEBUG_PRT(fmt, arg...) printf(fmt,##arg)/*** get ip a...
阅读全文
摘要:总结一下,今天学习的关于通过socket,ioctl来获得ip,netmask等信息,其中很多内容参照了很多网上的信息,我会一一列出的我用的这个函数,就是下面这个函数,其中的有一些全局变量,很好懂,也就不多做解释了一。下面对这个函数进行注解一下:int get_nic_IP_Address()//获...
阅读全文
摘要:嵌入式linux中使用DHCP功能描述busybox中udhcpc的默认script脚本地址为#define DEFAULT_SCRIPTCONFIG_UDHCPC_DEFAULT_SCRIPT#define CONFIG_UDHCPC_DEFAULT_SCRIPT "/usr/share/udhc...
阅读全文
摘要:实现DHCP自动获取IP地址前提:系统已经实现DNS(即使用pingwww.baidu.com测试时能ping通)。1.在内核中添加以下选项:Networking--->[*] Networking supportNetworking options---> Packet socket//添加.配置...
阅读全文
摘要:当没有网络的时候,板子一直发送dhcp请求,导致程序不往下执行,解决的办法是把它切换到后台运行,可是如何切换到后台呢,有办法,它自带参数可以实现该功能。如下: udhcpc -b -i eth0 -p /var/run/udhcpc.pid -R解释一下,-b就是切换到后台指令,-i是指定使用哪个网...
阅读全文
摘要:下载回源码包以后,就3个文件:cgic.c 函数库capture.c 一个很简单的CGI例子,仅仅输出两行提示文字cgictest.c 一个演示读取form表单数据的CGI例子首先在vc6里创建一个空的win32静态库cgic,然后添加cgic.c,编译后得到cgic.lib库创建一个空的conso...
阅读全文
摘要:我把网页挂载到nfs下面的文件中(需要新建一个文件www),不过这样很方便!安装过程==========================================================1)在www.boa.org下载boa-0.94.13.tar.gz并解压# tar -zxvf b...
阅读全文
摘要:网络通信基础如果网络中两个主机上的应用程序要相互通信,其一要知道彼此的IP,其二要知道程序可监听的端口。因为同一主机上的程序使用网络是通过端口号来区分的。UDP Socket的使用过程:1. 初始化网络库2. 创建SOCK_DGRAM类型的Socket。3. 绑定套接字。4. 发送、接收数据。5. ...
阅读全文
摘要:☛广播包的概念广播包通常为了如下两个原因使用:1 一个应用程序希望在本地网络中找到一个资源,而应用程序对于该资源的地址又没有任何先验的知识。2 一些重要的功能,例如路由要求把它们的信息发送给所有找到的邻机。被广播信息的目的地址取决于这一信息将在何种网络上广播。Internet域中支持一个速记地址用于...
阅读全文
摘要:[cpp]view plaincopy//发送端#include#include#include#include#include#include#include#include#includeusingnamespacestd;intmain(){setvbuf(stdout,NULL,_IONBF...
阅读全文
摘要:在前面的一篇文章中,简单了介绍了HTTP报文格式,详情参考http://www.firefoxbug.net/?cat=47。这里大概介绍下基本的,常见的HTTP包头格式。POST /report/getComment.jsp HTTP/1.1Host: yeeg.comConnection: ke...
阅读全文
摘要:#include #include #include #define MAXSIZE 1024#pragma comment(lib, "Wininet.lib")void urlopen(TCHAR*);int main(int argc, TCHAR* argv[]){TCHAR ch[] = ...
阅读全文
摘要:无线网络飞速发展的今天,许多设备都提供了连接无线网络的功能。那么Linux下的wifi到底该怎么配置、连接呢??开始配置之前,我们要说说iw家族。iw是linux下常用的wifi配置工具,网上有相应的库和源码。全名为wirelessTools。配置wifi模块,并连接相应的无线网络过程:主要使用iw...
阅读全文
摘要:1、一般来说,一个端口释放后会等待两分钟之后才能再被使用,SO_REUSEADDR是让端口释放后立即就可以被再次使用。SO_REUSEADDR用于对TCP套接字处于TIME_WAIT状态下的socket,才可以重复绑定使用。server程序总是应该在调用bind()之前设置SO_REUSEADDR套...
阅读全文