udp测试程序 + makefile
udp测试程序 + makefile[@more@]C语言: Codee#18774 01 /*02 ** talker.c -- a datagram "client" demo03 */04 05 #include <stdio.h>06 #include <stdlib.h>07 #include <unistd.h>08 #include <errno.h>09 #include <string.h>10 #include <sys/types.h>11 #include <sys/socket.h>12 #include <netinet/in.h>13 #include <arpa/inet.h>14 #include <netdb.h>15 16 #define SERVERPORT "4950" // the port users will be connect
sendDataByUdp Function
sendDataByUdp Function[@more@]C语言: Codee#18774 001 #include <stdio.h>002 #include <stdlib.h>003 #include <unistd.h>004 #include <errno.h>005 #include <string.h>006 #include <sys/types.h>007 #include <sys/socket.h>008 #include <netinet/in.h>009 #include <arpa/inet.h>010 #include <netdb.h>011 012 #define SERVERPORT "4950" // the port users will be connecting to013 014 int udp_upload_test(void *buf, uint len)015 {0
几个网络常见的名词解释
几个网络常见的名词解释[@more@]同步:发送方不等待接收方响应,便接着发下一个数据包的通信方式。异步:发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。阻塞套接字:执行此套接字的网络调用时,直到成功才返回,否则一直阻塞在此网络调用上。非阻塞套接字:执行此套接字的网络调用时,不管是否执行成功都立即返回。在实际的网络通信开发中,异步非阻塞套接字是用的最多的,C/S结构的软件就是异步非阻塞模式的。
混杂模式
混杂模式[@more@]以太网(Ethernet)具有共享介质的特征,信息是以明文的形式在网络上传输,当网络适配器设置为监听模式(混杂模式,Promiscuous)时,由于采用以太网广播信道争用的方式,使得监听系统与正常通信的网络能够并联连接,并可以捕获任何一个在同一冲突域上传输的数据包。IEEE802.3 标准的以太网采用的是持续 CSMA 的方式,正是由于以太网采用这种广播信道争用的方式,使得各个站点可以获得其他站点发送的数据。运用这一原理使信息捕获系统能够拦截的我们所要的信息,这是捕获数据包的物理基础。以太网是一种总线型的网络,从逻
网络--------杂记
网络--------杂记[@more@]udp数据报都有一个长度,如果一个数据包正确地到达其目的地,那么该数据报的长度将随数据一道传递给接收端的应用进程,TCP是一个字节流协议,没有任何记录边界,这一点不同于UDP。既然UDP是无连接的,因此就没有诸如关闭一个UDP连接之类的事情。避免僵死进程出现的方法设置僵死的状态的目的是维护子进程的信息,以便父进程在以后的某个时候获取。I/O模型:1.阻塞式I/O2.非阻塞式I/O3.I/O复用4.信号驱动5.异步I/Orecvfrom 和 sendto 适合用于UDP中,在UDP中如果用到connect,该UDP成为已连接的UDP,这时就不可使用
单播、多播(组播)和广播的区别
单播、多播(组播)和广播的区别[@more@]单播、多播和广播单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在?1.单播:网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单播”,此时信息的接收和传递只在两个节点之间进行。单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一般网络用户不知道而已。例如,你在收发电子邮件、浏览网
close 和 shutdown
close 和 shutdown[@more@]打开的套接口总是需要调用close来关闭,这样就能够回收资源。虽然大部分发行版本的linux,至少在我的fedora上面,不执行close,当进程死亡的时候打开的套接口仍然会被回收,但依赖于这点回收的话具有很大的不确定因素,因为不能保证所有的内核都会在进程死亡的时候去回收资源(绝大部分嵌入式系统上不会)。 但依靠close来关闭套接口不是一个非常有效的方法。原因一:之前曾经说过,close只是将描述字共享计数减一,只有当共享计数为0的时候,资源才会被回收。原因二是:双方通信存在了很大的不确定因素,譬如说
IP地址转换函数,inet_pton,inet_ntop
IP地址转换函数,inet_pton,inet_ntop[@more@]Linux下这2个IP地址转换函数,可以在将IP地址在“点分十进制”和“整数”之间转换 而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。算是比较新的函数了。 inet_pton函数原型如下[将“点分十进制” -> “整数”] #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> int inet_pton(int af, const char *src, void *dst); 这个函数转换字符串到网络地址,第一个参数af是地址族,转换后存在dst中 inet_pton