随笔分类 -  Windows网络编程

摘要:利用异步选择模型,应用程序可以在一个套接字上接收以Windows消息为基础的网络事件通知。 int WSAAsyncSelect ( SOCKET s, //套接字 HWND hWnd, //窗口句柄,收到通知消息的窗口 unsigned int wMsg, //指定在发生网络事件时接受的消息(通常 阅读全文
posted @ 2020-04-01 17:03 坦坦荡荡 阅读(416) 评论(0) 推荐(0)
摘要:阻塞套接字需要每个客户端都去开辟一个新的线程与其通信 主线程accept,每监听到一个新的连接,就为他创建一个线程,在子服务线程里recv,send数据。但是一旦客户端连接数增多,线程开销非常大,不合适。 select模型: Select可以管理多个套接字(通过轮询,死循环不断去遍历) 利用sele 阅读全文
posted @ 2020-04-01 15:11 坦坦荡荡 阅读(257) 评论(0) 推荐(0)
摘要:6种I/O模型 1.阻塞模型 2.选择模型 3.WSAAsyncSelect模型 4.WSAEventSelect模型 5.重叠模型 6.完成端口模型 阅读全文
posted @ 2020-04-01 15:07 坦坦荡荡 阅读(196) 评论(0) 推荐(0)
摘要:阻塞: 非阻塞: 阅读全文
posted @ 2020-04-01 14:56 坦坦荡荡 阅读(239) 评论(0) 推荐(0)
摘要:一.TCP 服务器程序和客户程序的创建过程 服务器端创建监听套接字,并为它关联一个本地地址(指定IP 地址和端口号),然后进入监听状态准备接受客户的连接请求。为了接受客户端的连接请求,服务器端必须调用accept 函数。客户端创建套接字后即可调用 connect 函数去试图连接服务器监听套接字。当服 阅读全文
posted @ 2020-03-27 17:47 坦坦荡荡 阅读(1042) 评论(0) 推荐(0)
摘要:一.因为 Winsock 要兼容多个协议,所以必须使用通用的寻址方式。 TCP/IP使用IP地址和端口号指定一个地址 winsock第一版使用的sockaddr 结构 struct sockaddr { u_short sa_family; char sa_data[14]; }; 在这个结构中,第 阅读全文
posted @ 2020-03-27 17:40 坦坦荡荡 阅读(264) 评论(0) 推荐(0)
摘要://Winsock库的加载函数 int WSAStartup( WORD wVersionRequested, // 指定想要加载的Winsock 库的版本,高字节为次版本号,低字节为主版本号 LPWSADATA lpWSAData // 一个指向WSADATA 结构的指针,用来返回DLL 库的详细 阅读全文
posted @ 2020-03-27 17:29 坦坦荡荡 阅读(168) 评论(0) 推荐(0)