
网络编程
文章平均质量分 85
马天翼
这个作者很懒,什么都没留下…
展开
-
GetQueuedCompletionStatus、PostQueuedCompletionStatus的使用
在Windows系统里,使用完成端口是高性能的方法之一,比如把完成端口使用到线程池和网络服务器里。现在就通过线程池的方法来介绍怎么样使用完成端口,高性能的服务器以后再仔细地介绍怎么样构造它。其实完成端口是一个队列,所有的线程都在等消息出现,如果队列里有消息,就每个线程去获取一个消息执行它。先用函数CreateIoCompletionPort来创建一个消息队列,然后使用GetQueuedComple转载 2012-03-08 09:08:42 · 2638 阅读 · 1 评论 -
socket 中send 和recev函数详解
int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字描述符;转载 2012-03-14 16:04:11 · 714 阅读 · 0 评论 -
socket和send两个系统调用为例,协议栈是如何工作
首先以socket和send两个系统调用为例,来回顾一下协议栈是如何工作的,在这过程中可以找到如何在协议栈中增加对UDP协议的支持。socket系统调用的原型是 int socket(int domain, int type, int protocol);domain是协议域,对于ipv4协议来说,其值是PF_INET(ipv4因特网协议),对于我们自己实现的ipv4协议模块,转载 2012-03-14 15:39:26 · 896 阅读 · 0 评论 -
关于双网卡同网段的广播问题
假设有电脑A和电脑B,A双网卡并且双网卡的IP是同一网段,并且A的网段和B的网段在同一网段,现在B进行广播,我们会看到A收到了两次信息,程序如下://server.cpp#include #include #include #include #include #include char * host_name = "192.168.0.255";int原创 2012-03-14 16:27:32 · 2910 阅读 · 0 评论