摘要: windows socket2定义了一种扩展机制,允许windows套接字服务提供者想应用程序设计者导出 先进的数据传输功能1 GetAcceptExSockaddrs函数粘贴从AcceptEx函数取得的数据,将本地和远程地址传递到sockaddr结构2 TransmitFile函数在一个已连接的套接字句柄上传输文件数据3 TransmitPackets函数与TransmitFile类似,不同之处是,既可以发送文件,也可以发送内存缓冲区中的数据4 ConnextEx函数为指定的套件诶子建立连接,连接建立后,也可以发送数据,仅支持面向连接的套接字5 DisconnectEx函数关闭套接字上的连接 阅读全文
posted @ 2012-10-17 21:24 xingoo 阅读(290) 评论(0) 推荐(0)
摘要: 主线程创建监听套接字,创建额外工作线程,关联IOCP,负责等待和接受到来的连接。调用GetQueuedCompletionStatus函数,函数返回:1 调用失败2 套接字被对方关闭3 请求成功完成程序首先定义per-handle per-IO的操作数据的结构类型#define BUFFER_SIZE 1024typedef struct _PER_HANDLE_DATA{ SOCKET s; sockaddr_in addr;}PER_HANDLE_DATA,*PPER_HANDLE_DATA;typedef struct _PER_IO_DATA{ OVERLAPPED ... 阅读全文
posted @ 2012-10-17 19:53 xingoo 阅读(1822) 评论(0) 推荐(0)
摘要: IOCP(IO完成端口)是一种伸缩性的IO模型,广泛应用于各种类型的高性能服务器,如Apache等。IO完成端口,应用程序使用线程池处理异步IO请求的一种机制。最初设计: 应用程序发出一些异步IO请求,设备驱动把这些工作项目排序到完成端口,在完成端口上等待线程池便可以处理这些完成IO。完成端口实际上是一个WINDOWS IO结构,可以接收多种对象的句柄。 1 创建完成端口对象 调用CreateIoCompletionPort函数创建一个完成端口对象,winsock使用这个对象为任意数量的套接字句柄管理IO请求HANDLE Creat... 阅读全文
posted @ 2012-10-17 19:42 xingoo 阅读(1009) 评论(0) 推荐(0)
摘要: 流水作业调度问题描述:N个作业{1,2,………,n}要在由两台机器M1和M2组成的流水线上完成加工。每个作业加工的顺序都是先在M1上加工,然后在M2上加工。M1和M2加工作业i所需的时间分别为ai和bi,1≤i≤n。流水作业高度问题要求确定这n个作业的最优加工顺序,使得从第一个作业在机器M1上开始加工,到最后一个作业在机器M2上加工完成所需的时间最少。可以假定任何任务一旦开始加工,就不允许被中断,直到该任务被完成,即非优先调度。输入:输入包含若干个用例,第一行为一个正整数K(1<=K<=1000),表示用例个数,接下来K个用例,每个用例第一个为作业数N(1<=N<=10 阅读全文
posted @ 2012-10-17 18:28 xingoo 阅读(2479) 评论(0) 推荐(0)
摘要: 多边形游戏是一个单人玩的游戏,开始时有一个由n个顶点构成的多边形。每个顶点被赋予一个整数值,每条边被赋予一个运算符“+”或“*”。所有边依次用整数从1到n编号。1 将一条边删除。2 随后n-1步按以下方式操作: (1)选择一条边E以及由E连接着的2个顶点V1和V2; (2)用一个新的顶点取代边E以及由E连接着的2个顶点V1和V2。将由顶点V1和V2的整数值通过边E上的运算得到的结果赋予新顶点。3 最后,所有边都被删除,游戏结束。游戏的得分就是所剩顶点上的整数值。思路:在所给多边形中,从顶点i(1≤i≤n)开始,长度为j(链中有j个顶点)的顺时针链p(i,j) 可表示为v[i],op[i+1.. 阅读全文
posted @ 2012-10-17 15:51 xingoo 阅读(634) 评论(0) 推荐(0)
摘要: 最大子段和:给出一个数组,计算其中连续的最大的子段和运行代码,及运行思想:/** * 动态规划:计算最大子段和 * 算法描述: * 数组a 有n个元素, 记 s[i] 为从a【0】到a[i]中,包含a[i]的最大子段和 * 则: s[i] 的值为: s[i-1]>0时, s[i-1]+a[i] * 否则 a[i] */#include <stdio.h>#include <stdlib.h>int maxSub(int *a, int n){ int i=0, max=0, max_pos = 0; int si_1=0, si = 0;/... 阅读全文
posted @ 2012-10-17 14:56 xingoo 阅读(463) 评论(0) 推荐(0)
摘要: 最长公共子序列问题:给定两个序列X={x1,x2,....xm}, Y={y1,y2,yn},找出XY的最长公共子序列1 最长公共子序列结构 1 xm=yn,则zk = xm = yn,且zk-1是xm-1和yn-1的最长公共子序列 2 xm!=yn,zk!=xm,则Z是xm-1,yn的最长共公共子序列 3 xm!=yn,zk!=yn,则Z是xm,yn-1的最长公共子序列2 子问题的递归结构 1xm=yn时,找出xm-1,yn-1的最长公共子序列 2 xm!=yn时,找出xm 和 yn-1 或者 xm-1和yn的最长公共子序列3 计算最优值c[i][j]:存储xi,yj的... 阅读全文
posted @ 2012-10-17 14:29 xingoo 阅读(505) 评论(0) 推荐(0)