求:完成端口服务器文件传输的例子

时间:2022-03-20 17:17:52

本人需要做一个通信模块,客户端需要传送一些命令、信息还有文件(文件可能会有几百M)到服务器端,但服务器端只要接受连接传送一些命令给客户端即可…

不知道有没有达人可以给一个小例子,服务器端采用完成端口模型,客户端不限,但客户端能够传送文件给服务器的…
(本人要的是文件传输的例子,谢谢)


主要是目前本人对IOCP只是略微了解,都没找到TransmitFile(不知这个函数可否在非IOCP的客户端使用?)的用法,希望有个小例子可以借鉴一下,在codeproject上找了一个例子实在太大了,恕我愚钝,而《Windows网络编程》一书中又只有ECHO的例子(我只看前6章)…

如果有的话,告诉我链接吧
或者我的mail:Missccu@gmail.com
不胜感激!

12 个解决方案

#1


IOCP那样这样的例子,都是一些原理性的。楼主还是靠自己吧,只要自定义好协议。其实就是socket的收发数据,没什么特别的东西。

#2


up!

#3


http://www.cppblog.com/niewenlong/archive/2007/08/17/30224.html

#4


http://blog.csdn.net/scq2099yt/archive/2008/03/21/2202617.aspx

#5



楼上两位给的例子,这些基本我都清楚,不过还是谢谢两位!
然后重申一下:我想要的完成端口模型文件传输的例子…

主要是想看看使用TransmitFile API的服务器和客户端是怎么写的…

#6


ACE->ACE_Handle->handle_transmit()
你看一下ACE 的 Proactor 的 example.
在 Windows 下是用完成端口做的,传输文件就是几行代码的事,example 里有。

#7


发文件倒不是什么问题,倒是读写文件那里问题较大.读写文件本身没有异步的API,万一读写文件出现阻塞的话,那么整个IOCP流程就阻塞在那里.至于发送数据那部分,满大街有这种发送数据的IOCP代码,基本是通用的.

#8



看楼上的说得好轻松啊,看来写程序这东西还真是会的不难,难的不会!

ACE也是我一直想学的东西…
奇怪的是满大街的IOCP发送文件的代码我怎么找不到呢…

#9


不会,帮顶

#10


IOCP只是为你解决大量并发连接的一个好办法,传输文件是之后的事情啊,当然一套完整的解决方案还是需要时间和经验的

#11


http://blog.csdn.net/firebird321/archive/2008/05/08/2417168.aspx 

我自己写着玩的(改别人的),没在项目里面应用过。麻烦你帮忙我测试一下(鄙视自己一把^_^),顺便帮忙完善一下。回头我找你要点代码收藏,呵呵。别拍砖

#12


引用 8 楼 Missccu 的回复:
看楼上的说得好轻松啊,看来写程序这东西还真是会的不难,难的不会! 

ACE也是我一直想学的东西… 
奇怪的是满大街的IOCP发送文件的代码我怎么找不到呢… 


写个http下载服务器,就是个发送文件的东西了.IOCP发送文件就是发送数据呀,满大街是IOCP发送数据的代码,所以这东西要解决的只是读文件那部分要做到不阻塞.

#1


IOCP那样这样的例子,都是一些原理性的。楼主还是靠自己吧,只要自定义好协议。其实就是socket的收发数据,没什么特别的东西。

#2


up!

#3


http://www.cppblog.com/niewenlong/archive/2007/08/17/30224.html

#4


http://blog.csdn.net/scq2099yt/archive/2008/03/21/2202617.aspx

#5



楼上两位给的例子,这些基本我都清楚,不过还是谢谢两位!
然后重申一下:我想要的完成端口模型文件传输的例子…

主要是想看看使用TransmitFile API的服务器和客户端是怎么写的…

#6


ACE->ACE_Handle->handle_transmit()
你看一下ACE 的 Proactor 的 example.
在 Windows 下是用完成端口做的,传输文件就是几行代码的事,example 里有。

#7


发文件倒不是什么问题,倒是读写文件那里问题较大.读写文件本身没有异步的API,万一读写文件出现阻塞的话,那么整个IOCP流程就阻塞在那里.至于发送数据那部分,满大街有这种发送数据的IOCP代码,基本是通用的.

#8



看楼上的说得好轻松啊,看来写程序这东西还真是会的不难,难的不会!

ACE也是我一直想学的东西…
奇怪的是满大街的IOCP发送文件的代码我怎么找不到呢…

#9


不会,帮顶

#10


IOCP只是为你解决大量并发连接的一个好办法,传输文件是之后的事情啊,当然一套完整的解决方案还是需要时间和经验的

#11


http://blog.csdn.net/firebird321/archive/2008/05/08/2417168.aspx 

我自己写着玩的(改别人的),没在项目里面应用过。麻烦你帮忙我测试一下(鄙视自己一把^_^),顺便帮忙完善一下。回头我找你要点代码收藏,呵呵。别拍砖

#12


引用 8 楼 Missccu 的回复:
看楼上的说得好轻松啊,看来写程序这东西还真是会的不难,难的不会! 

ACE也是我一直想学的东西… 
奇怪的是满大街的IOCP发送文件的代码我怎么找不到呢… 


写个http下载服务器,就是个发送文件的东西了.IOCP发送文件就是发送数据呀,满大街是IOCP发送数据的代码,所以这东西要解决的只是读文件那部分要做到不阻塞.