![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
zhuzhubin
本博客只用于学习笔记
展开
-
WinSocket模型的探讨——完成端口模型(一)
众所皆知,完成端口是在WINDOWS平台下效率最高,扩展性最好的IO模型,特别针对于WINSOCK的海量连接时,更能显示出其威力。其实建立一个完成端口的服务器也很简单,只要注意几个函数,了解一下关键的步骤也就行了。这是篇完成端口入门级的文章,分为以下几步来说明完成端口: 函数 常见问题以及解答 步骤 例程 1、函数:我们在完成端口模型下会使用到的最重要的两个函数是:C转载 2008-09-28 11:45:00 · 555 阅读 · 0 评论 -
用WinInet开发Internet客户端应用指南(二)
二、实现步骤 大家知道,每个Internet客户端程序都伴随有一定的目的行为,如读文件、写文件、删除文件等等。客户端的程序要实现这些行为的先决条件是建立Internet连接。然后再根据不同的目的进行具体的操作。为了方便起见,下面这这些张表格针对不同的应用行为列出了所需要的具体操作。其中列出了一般的Internet URL (FTP、或者 HTTP)客户端行为要实现某个目标所必须使用的方法。这转载 2010-01-28 23:17:00 · 651 阅读 · 0 评论 -
如何从Internet上有效而稳定地下载文件
如何从Internet上有效而稳定地下载文件 ,这是很多网络应用程序要考虑的重要问题,本文提供的代码段针对这个问题进行了初步的探索。希望能够抛砖引玉,对各位编程人员有所帮助。 UINT InternetGetFile (HINTERNET IN hOpen, CHAR *szUrl, CHAR *szFileName, HWND hwndProgress, int idStatusText,转载 2009-12-27 22:16:00 · 461 阅读 · 0 评论 -
HTTP服务器上断点下载文件
从HTTP服务器上下载一个文件有很多方法,“热心”的微软提供了 WinInet 类,用起来也很方便。当然,我们也可以自己实现这些功能,通过格式化请求头很容易就能实现断点续传和检查更新等等功能 。 连接主机 格式化请求头 设置接收,发送超时 要想从服务器下载文件,首先要向服务器发送一个请求。HTTP 请求头由若干行字符串组成。下面结合实例说说 HTT转载 2010-01-28 23:32:00 · 2251 阅读 · 0 评论 -
VC网络编程基础
对于许多初学者来说,网络通信程序的开发,普遍的一个现象就是觉得难以入手。许多概念,诸如:同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)等,初学者往往迷惑不清,只知其所以而不知起所以然。 同步方式指的是发送方不等接收方响应,便接着发下个数据包的通信方式;而异步指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。 阻塞套接字是指执行此套转载 2008-09-26 14:36:00 · 352 阅读 · 0 评论 -
Winsocket编程之套接字原理
一、客户机/服务器模式 在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Server model)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式: 首先服务器方要先启动,并根据请示提供相应服务:(过程如下) 1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求转载 2008-09-28 11:47:00 · 458 阅读 · 0 评论 -
select函数详解
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非转载 2008-10-30 15:17:00 · 467 阅读 · 0 评论 -
WSAAsyncSelect()
WSAAsyncSelect() 简述: 通知套接口有请求事件发生. #include int PASCAL FAR WSAAsyncSelect ( SOCKET s, HWND hWnd, unsigned int wMsg, long lEvent );转载 2009-03-03 11:20:00 · 674 阅读 · 0 评论 -
select详解
select系统调用是用来让我们的程序监视多个文件描述符(file descriptor)的状态变化的。程序会停在select这里等待,直到被监视的文件描述符有某一个或多个发生了状态改变。select函数原型如下:int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *ti原创 2009-03-03 15:00:00 · 2195 阅读 · 0 评论 -
modle
循环服务器:循环服务器在同一个时刻只可以响应一个客户端的请求。 并发服务器:并发服务器在同一个时刻可以响应多个客户端的请求。 9.1 循环服务器:UDP服务器 UDP循环服务器的实现非常简单:UDP服务器每次从套接字上读取一个客户端的请求,处理,然后将结果返回给客户机。 可以用下面的算法来实现: socket(...); bind(...转载 2009-03-04 18:18:00 · 540 阅读 · 0 评论 -
最大程度地利用您的网络资源
如果您具有基于 UNIX® 的编程经验,那么您可能会在一定程度上苦恼于如何提高您的网络吞吐量。本文介绍了一些有价值的技术,使用本文中描述的这些方法,您可以最大程度地利用您的带宽,并实现显著的性能提升。引言任何具有 UNIX® 系统编程经验的人都会苦恼于如何提高网络吞吐量以及磁盘 I/O(在某些情况下)。本文介绍了协议实现者所使用的一些高级编程技术,它们可以帮助您充分利用现有的带宽。(本转载 2009-03-10 15:03:00 · 483 阅读 · 0 评论