套接字编程
文章平均质量分 83
Jody1989
这个作者很懒,什么都没留下…
展开
-
PF_INET 和 AF_INET的区别
AF 表示ADDRESS FAMILY 地址族 PF 表示PROTOCL FAMILY 协议族Winsock2.h中#define AF_INET 0#define PF_INET AF_INET 所以在windows中AF_INET与PF_INET完全一样 而在Unix/Linux系统中,在不同的版本中这两者有微小差别对于BSD,是AF,对于POSIX是PF转载 2015-08-01 14:42:59 · 5276 阅读 · 0 评论 -
UDP 单播、广播和多播
阅读目录(Content)一、UDP广播 二、UDP多播1、多播(组播)的概念2、广域网的多播三、UDP广播与单播广播与单播的比较 使用UDP协议进行信息的传输之前不需要建议连接。换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的ip地址和端口号,然后将信息封装到一个待发送的报文中并且发送出去。至于服务器端是否存在,或者能否收到该报文,转载 2017-11-03 16:47:22 · 1153 阅读 · 0 评论 -
多播(组播)
本文转自:http://blog.csdn.net/yangzhongxuan/article/details/8079737什么是多播 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上转载 2017-11-11 08:55:45 · 700 阅读 · 0 评论 -
RIP和OSPF到区别
路由可分为静态、动态路由。静态路由由管理员手动维护;动态路由由路由协议自动维护。路由选择算法的必要步骤:1、向其它路由器传递路由信息;2、接收其它路由器的路由信息;3、根据收到的路由信息计算出到每个目的网络的最优路径,并由此生成路由选择表;4、根据网络拓扑的变化及时的做出转载 2011-09-26 11:31:47 · 1149 阅读 · 0 评论 -
中继器·集线器·网桥·交换机·路由器·网关的区别
1、物理层:中继器(Repeater)和集线器(Hub)。用于连接物理特性相同的网段,这些网段,只是位置不同而已。Hub 的端口没有物理和逻辑地址。 2、逻辑链路层:网桥(Bridge)和交换机(Switch)。用于连接同一逻辑网络中、物理层规范不同的网段,这些网段的拓扑结构和其上的数据帧格式,都可以不同。Bridge和Switch的端口具有物理地址,但没有逻辑地址。 3、网络层:转载 2011-11-09 17:53:57 · 10753 阅读 · 1 评论 -
UDP/TCP穿越NAT的P2P通信方法研究(UDP/TCP打洞 Hole Punching)
内容概述:在p2p通信领域中,由NAT(Network Address Translation,网络地址转换)引起的问题已经众所周知了,它会导致在NAT内部的p2p客户端在无论以何种有效的公网ip都无法访问的问题。虽然目前已经发展出多种穿越NAT的技术,但相关的技术文档却很少,用来证明这些技术的稳定性和优点的实际数据更少。本文的目的在于描述和分析在实际中运用得最广泛、最可靠同时也是最简单的一种NA转载 2015-09-22 14:38:53 · 903 阅读 · 0 评论 -
TCP Server处理多Client请求的方法—非阻塞accept与select
参看基于TCP/UDP的socket代码,同一时间Server只能处理一个Client请求:在使用当前连接的socket和client进行交互的时候,不能够accept新的连接请求。为了使Server能够处理多个Client请求,常见的方法:多进程/线程方法、non-blocking socket(单进程并发)、non-blocking和select结合使用。三种方法各有优缺点,下面进行详细分转载 2017-03-30 10:25:27 · 3309 阅读 · 0 评论 -
recv函数返回值说明
recv函数int recv( SOCKET s, char FAR *buf, int len, int flags);不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。该函数的第一个参数指定接收端套接字描述符; 第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据; 第三个参数指明buf的长度; 第四个参数一般置0。转载 2017-06-16 13:54:28 · 927 阅读 · 0 评论 -
linux编程获取本机IP地址的三种方法
这是一项不太清晰而且没有多大意义的工作。一个原因是网络地址的设置非常灵活而且都是允许用户进行个性化设置的,比如一台计算机上可以有多块物理网卡或者虚拟网卡,一个网卡上可以绑定多个IP地址,用户可以为网卡设置别名,可以重命名网卡,用户计算机所在网络拓扑结构未知,主机名设置是一个可选项并且同样可以为一个计算机绑定多个主机名等,这些信息都会有影响。脱离了网络连接,单独的网络地址没有任何意义。编程中遇到必须转载 2016-05-05 11:29:54 · 3495 阅读 · 0 评论 -
send,recv,sendto,recvfrom
send函数int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字描述符;转载 2015-08-01 15:35:59 · 505 阅读 · 0 评论 -
setsockopt的作用
功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#i转载 2015-08-01 14:42:11 · 449 阅读 · 0 评论 -
setsockopt()用法(参数详细说明)
int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(套接字): 指向一个打开的套接口描述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP: IPv4套接口IPPROTO_IPV6: IPv6转载 2015-08-01 14:59:19 · 457 阅读 · 0 评论 -
HTTP协议详解(真的很经典)
转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspxAuthor :Jeffrey引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六转载 2017-11-28 14:31:40 · 907 阅读 · 0 评论