计算机网络
文章平均质量分 77
ranjiewen
坚持阅读,坚持练习,日积月累! 金风玉露一相逢,便胜却人间无数!
展开
-
IP头,TCP头,UDP头,MAC帧头定义
一、MAC帧头定义/*数据帧定义,头14个字节,尾4个字节*/typedef struct _MAC_FRAME_HEADER{ char m_cDstMacAddress[6]; //目的mac地址 char m_cSrcMacAddress[6]; //源mac地址 short m_cType; //上一层协议类型,如0x0800代转载 2016-09-22 17:28:46 · 1439 阅读 · 0 评论 -
TIME_WAIT是什么?http连接
http连接分为:建立连接,即tcp三次握手 发送请求信息 发送响应信息 关闭连接(tcp四次握手);下面讲此过程: 在TCP断开的过程中会有四个状态变化过程,如下图所示:在连接撤销过程中,有如下过程:原创 2016-09-20 14:03:02 · 483 阅读 · 0 评论 -
初识-----基于Socket的UDP和TCP编程及测试代码
一、概述TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(stream socket)的一种。UDP:用户数据报协议。UDP是一种无连接协议。UDP套接口是数据报套接口(datagram socket)的一种。二、T原创 2016-09-20 14:05:50 · 1077 阅读 · 0 评论 -
初识HTTP 1.1与HTTP 1.0
HTTP 1.1与HTTP 1.0的比较 一个WEB站点每天可能要接收到上百万的用户请求,为了提高系统的效率,HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。但是,这也造成了一些性能上的缺陷,例如,一个包含有许多图像的网页文件中并没有包含真正的图像数据原创 2016-09-20 14:08:54 · 366 阅读 · 0 评论 -
udp通信C++实现的细节
在windows/linux下有下面结构:sockaddr结构struct sockaddr{unsigned short sa_family;/*addressfamily,AF_xxx*/char sa_data[14];/*14bytesofprotocoladdress*/};sa_family是地址家族,一般都是“AF_xxx”的形式。通常大多用的是都是AF_原创 2016-09-20 14:09:16 · 1304 阅读 · 0 评论 -
Winsock IO模型之select模型
之所以称其为select模型是因为它主要是使用select函数来管理I/O的。这个模型的设计源于UNIX系统,目的是允许那些想要避免在套接字调用上阻塞的应用程序有能力管理多个套接字。 int select( int nfds, // 忽略,仅是为了与Berkeley套接字兼原创 2016-09-20 14:09:22 · 312 阅读 · 0 评论 -
基于select模型的udp客户端实现超时机制
参考:http://www.cnblogs.com/chenshuyi/p/3539949.html多路选择I/O — select模型其思想在于使用一个集合,该集合中包含需要进行读写的fd,通过轮询这个集合,直到有一个fd可读写,才返回。与阻塞I/O不同的是,阻塞I/O仅使用了一次系统调用,就是对fd的读写,如果没有fd处于就绪状态,则进程一直阻塞,而多路选择I/O使用了两次系统调用,第原创 2016-09-20 14:09:24 · 2432 阅读 · 1 评论 -
Wireshark基本介绍及应用tcp
wireshark介绍wireshark的官方下载网站: http://www.wireshark.org/wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。原创 2016-09-20 14:09:29 · 454 阅读 · 0 评论 -
网络编程的几个函数
setsockopt()MAKEWORDWSAStartup函数原创 2016-09-20 14:13:45 · 299 阅读 · 0 评论 -
Tcp服务端判断客户端是否断开连接
今天搞tcp链接弄了一天,前面创建socket,绑定,监听等主要分清自己的参数,udp还是tcp的。好不容易调通了,然后就是一个需求,当客户端主动断开连接时,服务端也要断开连接,这样一下次客户端请求链接的时候才能成功链接。 然后就开始找各种方法。其中简单的是看recv()返回为0,表明断开了链接,但是recv函数始终返回SOCKET_ERROR,找不到原因。。。。。。。。。。。。原创 2016-09-20 14:14:21 · 16368 阅读 · 0 评论 -
TCP服务端和客户端的框架
提供一个框架服务器端: 创建一个Socket sFd=socket(AF_INET,SOCK_STREAM,0) 把Socket和本机的IP,TCP口绑定 bind(sFd,(structsockaddr*)&serverAddr,sockAddrSize) 为客户连接创建等待队列 listen(sFd,SERVER_MAX_CONNECTIONS) 这里循环等待,如有客户连接请求,则接受客户机连原创 2016-09-20 14:02:11 · 912 阅读 · 0 评论