socket
车公庙大表哥
这个作者很懒,什么都没留下…
展开
-
select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET(2)
理解select模型的关键在于理解fd_set,为说明方便,取fd_set长度为1字节,fd_set中的每一bit可以对应一个文件描述符fd。则1字节长的fd_set最大可以对应8个fd。 (1)执行fd_set set; FD_ZERO(&set);则set用位表示是0000,0000。 (2)若fd=5,执行FD_SET(fd,&set);后set变为0001,0000原创 2013-07-11 22:02:28 · 994 阅读 · 0 评论 -
select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET(1)
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型#include #include /** * @brief select * @param maxfd 需要监视的最大的文件描述符值+1 * @param rdset 需要检测的可读文件描述符的集合 * @param wrset 可写文件描述符的原创 2013-07-11 21:57:10 · 642 阅读 · 0 评论 -
C++ Socket编程步骤
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket());2:绑定套接字到一个IP地址和一个端口上(bind());3:将套接字设置为监听转载 2013-07-03 16:17:51 · 636 阅读 · 0 评论 -
IOCP的例子
以前在书上看过了IOCP,不过一直都没有写过代码。现在写的时候,着时对很多问题摸不着头脑。不过好在CSDN上有许多的对于IOCP问题的讨论帖,让我受益非浅啊,也把心中的一些迷茫解开了,下面给出的是可以运行的IOCP的C/S代码,自已试了在一个机器上开了一百来个客户端,跑起来暂时没出现问题(因为通信内容太简单了^-^)。IOCP的三个函数:CreateIoCompletionPort、GetQu原创 2013-07-15 09:39:22 · 1160 阅读 · 0 评论 -
IOCP例子
#include using namespace std;#include #include #include #include #define PORT 5150#define DATA_BUFSIZE 8192typedef struct{ OVERLAPPED OVerlapped; WSABUF DATABuf;转载 2013-07-31 17:15:29 · 2635 阅读 · 3 评论 -
JAVA NIO 实例
最近一直在忙着JAVA NIO的知识,花了一下午的时间,总算写出了一个可以运行的程序,废话少说,上代码!import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.nio.ByteBuffer;import java.nio.channels.转载 2013-12-19 08:45:48 · 748 阅读 · 0 评论