首页
社区
课程
招聘
[分享]我写的大块网络数据传输类
发表于: 2008-9-6 23:26 5867

[分享]我写的大块网络数据传输类

2008-9-6 23:26
5867
一直在忙着做出这个。遇到了很多问题。

     前两天,还在论坛上问过大牛们相关的问题。

     http://bbs.pediy.com/showthread.php?t=72046

     现在又了最终结果,贴出来,分享一下。封装了FileMapping、Socket和多线程技术,结构庞大些,但还算严谨。运行效果相当不错。哈哈
     
     我的Blog也有一份:
http://at20042004.blog.163.com

本来以为“大作草创”,心中宽慰了好多;看到楼下的批评,俺心都凉了。
所以,加上一句:欢迎批评指正,更欢迎大家能告诉我,怎么改进好一些!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 249
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
学习~~
2008-9-6 23:57
0
雪    币: 367
活跃值: (20)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
不错的PPT,演示了基本的socket操作
2008-9-7 00:53
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
大块网络数据 是啥意思?
写着玩还行,遇到要求稍高,你的多线程就是鸡肋,压力测试一上来半秒都顶不住,另外如果连接超时,发送超时,接收超时呢?写文件只会增加更多IO操作.最后,如果你这"服务器"(之所以打上引号是因为在我看来接收端根本算不上服务器)压力稍微过来,写IO是根本跟不上的...etc

PS:从Code上总结LZ缺乏经验
2008-9-7 01:14
0
雪    币: 247
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
所以我提供了一个函数SetPackageSize,设定包分片的大小,适应不同的传输环境。读写文件不是我的本意,只是为了测试效果(不过还好,没有因为这个出现问题)。

socket的实际应用,我确实经验不是太足,所以还得多学习啦。

----------------------------------------------------------------
该学驱动了!20080907
2008-9-7 08:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
哈哈,的确和4楼说的一样
还不如申请个大内存做磁盘缓冲效果会好点
发送接收搞个IOCP模型性能会好很多
2008-9-7 09:57
0
雪    币: 247
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
7
可否详述???
2008-9-7 11:19
0
雪    币: 247
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
8
可否指出什么地方需要改进,有什么样的技术可以改进?
先说声谢谢,呵呵
2008-9-7 11:28
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
不需要改进,是重写...呵呵

Win32下用IOCP模型吧,想凑活的话用Select模型
Linux(>=2.6的内核)下用EPOLL模型,或者Select模型也ok

需要有自己的内存管理,线程池等等,当然还有很多细节,懒得说

注意内存泄露,再用Mercury压一压,哈哈哈哈哈哈
2008-9-7 11:52
0
雪    币: 247
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
10
好的,学习了,你所说的我基本不懂,只能找书看了,

谢谢
2008-9-7 15:47
0
游客
登录 | 注册 方可回帖
返回
//