网络编程
文章平均质量分 72
lllxy
这个作者很懒,什么都没留下…
展开
-
TCP的连接和断开
1. TCP的三次握手连接l 请求端(通常称为客户端)发送一个SYN段指名客户端打算连接的服务器的端口,以及初始序号。(序号: 3662298720确认序号:0),l 服务器端发回包含服务器的初始序号的SYN段,同时对客户端的序号进行加1作为应答(序号:1139382973 ,确认序号: 3662298721)l 客户端将确原创 2007-09-03 11:27:00 · 921 阅读 · 0 评论 -
在libevent程序中我理解了select是如何触发Write操作的?
1. 服务器 当有新连接来的时候,通过在select上轮循写的fd(文件描述符)发送一句欢迎词。然后每次受到客户端的数据后,把接受到的数据返回给客户端。演示了在select上轮循写的操作。对于监视读操作,只有当数据来的时候,读操作的fd才会返回.而对于写的操作fd,则是轮询。/* the example is writed by minrongf,date: 20090214#原创 2009-02-10 09:47:00 · 5050 阅读 · 0 评论 -
使用WSAIoctl和SIO_ADDRESS_LIST_QUERY去查询本机ip
#include #pragma comment(lib, "WS2_32") // 链接到WS2_32.lib#include #include #include #include int main(){ int wsError = 0; DWORD bytesReturned = 0; char* pAdd原创 2008-07-02 09:31:00 · 2310 阅读 · 0 评论 -
tcp协议的中对ack标志的理解
在看tcp协议卷1的时候,开始的理解就是: 客户端每次向服务器端发送一个数据包,服务器端就必须会有一个单独的ack发向客户端,确认已经接收到的字节个数。测试例子1:客户端循环接受从标准输入输入的字符串,然后发送给服务器服务器端循环接收客户端发送的数据,并且在屏幕打印出来。 在这个例子中,确实吻合了我的理解:客户端每次发送一个数据包,服务器都会向客户端发送一个ack确认标志,但原创 2008-01-16 14:15:00 · 5745 阅读 · 1 评论 -
收集的网络编程的网站
http://www.fadidotnet.org/online_book/Network_Programming_online.htm原创 2008-01-17 10:36:00 · 650 阅读 · 0 评论 -
如何编译WinPcap
主 页 模块 数据结构 文件 相关页面 如何编译WinPcap[WinPcap核心资料] 这部分内容将告诉你,在不同的win32平台上,如何编译WinPcap。源代码可以在WinPcap 网站上获得。转载 2008-01-14 16:18:00 · 4506 阅读 · 1 评论 -
通过gethostbyaddr来获取计算机的名称
通过gethostbyaddr来获取计算机的名称。如下代码: #include stdio.h>#includewinsock2.h>#include Ws2tcpip.h>#pragma comment(lib,"ws2_32.lib")int main(int argc, char* argv[])...{ WORD wVersionRequested; WSADATA原创 2007-10-23 14:05:00 · 7100 阅读 · 0 评论 -
理解tcp顺序释放操作和tcp的半关闭
Shutdown的调用 在关闭socket的时候,可以有两种方式closesocket和shutdown,这两个函数的区别在什么地方呢?#include /*UNIX*/#include /*Windows*/ int shutdown(int s, int how) /*原创 2007-09-12 17:02:00 · 6535 阅读 · 0 评论 -
学习tcp/ip的资源列表
学习tcp/ip的资源列表:http://www.faqs.org/faqs/internet/tcp-ip/resource-list/原创 2007-09-14 14:45:00 · 896 阅读 · 0 评论 -
socket状态中time_wait介绍
time_wait是什么?在上篇文章中讲到,在TCP断开的过程中会有四个状态变化过程,如下图所示:http://p.blog.csdn.net/images/p_blog_csdn_net/lllxy/334215/o_TCPDisconnectState.PNG在连接撤销过程中,有如下四个过程: 1.原创 2007-09-07 15:10:00 · 2577 阅读 · 0 评论 -
tcp中close_wait状态出现的原因
close_wait出现的原因: 就是某一方在网络连接断开后,对等方没有检测到这个错误(对方断开)而没有调 用 closesocket,导致了这个状态的出现.模拟这样一个环境:服务器192.168.1.112:4500在接收到一个客户端的连接后,休眠五秒后,服务器关闭与客户 端通讯的socket后正常退出,而客户端在连接服务器后,等待用户输入字符后,发送给客户端。现在有这样几个问题:1原创 2007-09-10 22:08:00 · 11020 阅读 · 3 评论 -
转载: 关于SIGPIPE导致的程序退出
收集一些网上的资料,以便参考:http://blog.chinaunix.net/u2/69143/showart_1087349.html 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。 根据信号的默认处理规则转载 2009-02-25 21:11:00 · 1344 阅读 · 0 评论