socket
君记否
么么哒^ ^
展开
-
VC++ 简单TCP/IP客户端
<br />// socket_server.cpp : 定义控制台应用程序的入口点。<br />//<br /><br />#include "stdafx.h"<br />#include <windows.h><br />#include <winsock.h><br />#include <iostream><br />using namespace std;<br />#define NO_FLAGS_SET 0<br />#define PORT (u_short转载 2010-12-09 11:40:00 · 1557 阅读 · 0 评论 -
关于Transfer-Encoding: chunked类型的数据的解析
最近在写一个http文件下载模块,其中需要解析Transfer-Encoding: chunked类型的数据,找了一些相关的资料。http://blog.csdn.net/zhangboyj/article/details/6236780http://hi.baidu.com/ah__fu/blog/item/c3d47b2f0bcd65301e30891e.html自原创 2012-05-31 16:31:07 · 6790 阅读 · 0 评论 -
TCP为什么叫做流协议
最近在写一个TCP网络模块,学到了不少东西。 客户端发送字节流时,TCP会保证服务端按顺序接收到全部的字节流,其他诸如数据包的大小等,TCP协议对我们来说是透明的,我们可以全部不考虑。 通俗点说,我们发送数据只需要调用send函数,我们只需要关注send函数的返回值,从而知道了发送了多少个字节,在服务端,我们调用recv函数,我们只需要关注recv函数的返回值,从而知道接收了多原创 2012-03-21 17:33:40 · 4204 阅读 · 0 评论 -
关闭TCP连接的学问
http://blog.csdn.net/wjtxt/article/details/6598925从TCP协议角度来看,一个已建立的TCP连接有两种关闭方式,一种是正常关闭,即四次挥手关闭连接;还有一种则是异常关闭,我们通常称之为连接重置(RESET)。 首先说一下正常关闭时四次挥手的状态变迁,关闭连接的主动方状态变迁是FIN_WAIT_1->FIN_WAIT_转载 2012-03-21 20:25:55 · 583 阅读 · 0 评论 -
socket编程遇到的一些函数错误及技巧
http://blog.chinaunix.net/uid-25885064-id-3067050.html(一)发送时 当客户通过Socket提供的send函数发送大的数据包时,就可能返回一个EGGAIN的错误。该错误产生的原因是由于send 函数中的size变量大小超过了tcp_sendspace的值。tcp_sendspace定义了应用在调用send之前能够在kernel中缓存转载 2012-03-15 19:27:37 · 1161 阅读 · 0 评论 -
select模式 fd_set 等函数或宏释疑
http://www.cnblogs.com/Christine/archive/2012/03/07/2383392.html注:网络编程 用c写socketselect()函数主要是建立在fd_set类型的基础上的。fd_set(它比较重要所以先介绍一下)是一组文件描述字(fd)的集合,它用一位来表示一个fd(下面会仔细介绍),对于fd_set类型通过下面四个宏来操作:转载 2012-03-12 18:05:03 · 1052 阅读 · 0 评论 -
vc++ 简单阻塞式TCP/IP服务器
// socket_client.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #pragma comment(lib, "wsock32.lib")using namespace std;#define NO_FLAGS_SET 0#define PORT (u_转载 2010-12-09 11:39:00 · 1252 阅读 · 0 评论 -
epoll_create, epoll_ctl和epoll_wait 函数用法实例讲解,总结得不错
http://apps.hi.baidu.com/share/detail/31300135NAME epoll - I/O event notification facilitySYNOPSIS #include DEscrīptION epoll is a variant of poll(2) that can be us转载 2012-03-05 15:09:10 · 7442 阅读 · 1 评论 -
epoll服务端与客户端代码实例(复制即用)
服务端:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define MAXBUF 102转载 2012-03-02 14:39:31 · 3918 阅读 · 0 评论 -
什么是TCP 三次握手及为什么进行三次握手? TCP的可靠性传输是如何保障
TCP 连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程:1. 客户端向服务器发送一个SYN置位的TCP报文,其中包含连接的初始序列号x和一个窗口大小(表示客户端上用来存储从服务器发送来的传入段的缓冲区的大小)。2. 服务器收到客户端发送过来的SYN报文后,向客户端发送一个SYN和A转载 2010-11-13 16:37:00 · 4544 阅读 · 0 评论 -
HTTP协议详解
<br />引言 <br /><br />HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。<br />HTTP协议的主要特点可概括转载 2010-11-12 22:12:00 · 390 阅读 · 0 评论 -
基本TCP套接口编程函数
<br /><br /><br /> <br /><br /><br /><br /><br /><br /><br /><br />转载 2010-11-13 09:08:00 · 571 阅读 · 0 评论 -
电路交换和分组交换(包交换)的基本原理与区别
<br />电路交换每部电话都连接到交换机上,而交换机使用交换的方法,让电话用户之间可以很方便地通信。一百多年来,电话交换机虽然经过了多次更新换代,但交换的方式一直都是电路交换。当电话机数量增多,就使用彼此连接起来的交换机来完成全网的交换工作。注意,是这种交换机采用了电路交换的方式,后来的分组交换也是采用了一样的电信网,只是不一样类型的交换机(当然协议也不同)。<br /> 从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。<br /> 在使用电路交换转载 2010-11-13 13:31:00 · 8275 阅读 · 0 评论 -
udp打洞过程
现实环境:有两个客户端甲、乙需要通信,它们处于两个不同的子网。解决方案:udp打洞(一般路由器都支持)解决过程:1、准备一台服务器,放在公网上,与客户端甲和乙通信,记录客户端甲和乙的Ip和端口信息,这些IP和端口并非甲和乙在内网的IP和端口,而是通过NAT方式映射到路由器上的IP和端口。2、客户端甲向服务器发送udp消息,请求和客户端乙通信。3、服务器向客户端甲发送消息,消息内原创 2012-05-23 10:51:22 · 1409 阅读 · 0 评论