网络通信
JGood
这个作者很懒,什么都没留下…
展开
-
学习TCP阻塞/非阻塞
不管是阻塞还是非阻塞模式,send(...)返回的数据长度,只是表示拷贝到协议栈缓冲区中的数据长度,并不是实际发送的数据量或对方接收的数据量。对于recv(...),只是从缓冲区中获取接收到的数据。发送方先将数据拷贝到协议栈缓冲区,tcp会保证缓冲区中的数据发送到接收方的缓冲区。至于数据如何可靠的到达,底层协议已经给我们做了很多工作,上层的应用程序不用考虑。阻塞与非阻塞,相对于底层协议来说没有原创 2009-08-12 21:14:00 · 4704 阅读 · 2 评论 -
一行逻辑错误,但语法没有错误的代码
用C++调用windows API进行非阻塞TCP通信,其中一行代码被我写成了如下:if (SOCKET_ERROR == (sock, (sockaddr *)&addr, sizeof(addr))){ cout << "Bind Failed" << endl; WSACleanup(); return 0;} 这段代码编译没有任何错误与警告,但结果并不是原创 2009-08-23 09:30:00 · 1500 阅读 · 0 评论 -
libcurl教程
原文地址:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html 译者:JGood(http://blog.csdn.net/JGood ) 译者注:这是一篇介绍如何使用libcurl的入门教程。文档不是逐字逐句按原文翻译,而是根据笔者对libcurl的理解,参考原文写成。文中用到的一些例子,可能不是出自原文,而是笔者原创 2009-11-08 22:56:00 · 70139 阅读 · 38 评论 -
根据报文格式来理解TCP协议
TCP协议规定了在不同主机间进行可靠数据流传输的通用方法,如 连接建立与释放、报文编号、收到数据报后的确认、流量控制、发送超时等等。靠死记硬背来学习这些东西,没过几天就又忘记了。我发现根据TCP报文格式来了解掌握这些知识,效果还是不错的。看到下面这张图(此图来源于网络),就能回忆起关于TCP协议的大部分东西: (该图来源于网络) Source Port,Destination P原创 2009-12-06 23:43:00 · 2940 阅读 · 0 评论 -
Python封装IOCP
2011-07-22:源码下载:http://blog.csdn.net/jgood/article/details/6626872 Python是一门简洁而优雅的语言,她的高生产率使我们能用最少的人力、物力、时间、财力代价解决眼前的问题。但是当解决了眼前的问题,一些更长远的问题就不得不考虑。 利用Python自带的socket模块写网络服务器程序,很难能够承受上千个连接。我曾原创 2009-10-21 23:02:00 · 4861 阅读 · 11 评论