该如何选择winsock api,winInet,CAsyncSocket,CSocket进行网络编程??

jacobiwu 2009-03-02 03:31:40
小生是新手,现在要编写一个类似于BT那样的多线程下载程序(需要实现的功能是比较多,比较大型的)
(1)服务器如何选择?
(2)客户程序如何选择?
请各位指教一二!
...全文
260 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
MicrosoftWindow 2009-03-03
  • 打赏
  • 举报
回复
我现在正做emule应用,本来要接受手BT上的任务的,但后来临时分给了同事。
不是说你会做socket就能做出bt来,包括你说的简单两字,光协议开发你就做不了,你不实现BT协议,他还是BT吗?
我的意思是你现在学网络编程,一步一步来,先同步通信,在学异步控制,掌握几种长用的异步模型,其中重点是select,WSAAsycnSelect,和完成端口。
vagrantisme 2009-03-02
  • 打赏
  • 举报
回复
老大,BT那样的程序没有10年的编程(网络方面)功底很难实现。

除非你是传说中百年不遇的编程奇才。

下面是一些基本知识。

1.CSocket有自己的阻塞管理,CAsyncSocket却要自己处理发生的阻塞;
2.不要用Microsoft提供的这两个类写大型的程序,一定有问题!
3.建议自己写类如封状socket 的各种I/O模型的类;
瓶盒 2009-03-02
  • 打赏
  • 举报
回复
可以去看看Emule的源代码
jacobiwu 2009-03-02
  • 打赏
  • 举报
回复
其实我和你也是在相同的起跑线上
ymh8416 2009-03-02
  • 打赏
  • 举报
回复
我现在也想学网络编程,但是并不知道该从哪里入手,
winsock api 也看了一些,也明白了一些其用法,

下一步该干些什么呢?
jacobiwu 2009-03-02
  • 打赏
  • 举报
回复
它们之间是继承的关系,本质上是出在同门。我的意思是用那个比较好(在简单性与功能上能否实现性出发)
因为上网查了winsock与winInet的区别,看到winInet是用来做客户端的,而用Winsock做起来又比较复杂,
虽然这样对于学习是比较有用的。
也看到CSDN以前的有关的帖子,有人建议下面是原文:
1.CSocket有自己的阻塞管理,CAsyncSocket却要自己处理发生的阻塞;
2.不要用Microsoft提供的这两个类写大型的程序,一定有问题!
3.建议自己写类如封状socket 的各种I/O模型的类;

其中第二点提到可能出现问题,同时要实现的一些部分与BT相似,当然没有BT那样厉害,也没有这样的能力。
之所以这样说是因为部分机制有些相似,当然我要做的那个也是C/S模式的,有些语言上的不对敬请原谅。
MicrosoftWindow 2009-03-02
  • 打赏
  • 举报
回复
你是新手,要写BT?真是“长江后浪推前浪,前浪死在沙滩上”啊。年轻人越来越牛了。从你问的问题就看出来你做不了,
先做基础的吧。上面说的哪个其实质都一样。本人建议你什么都不用,就从写一个简单的C/S模型进行简单的通信再说。我是这样过来的

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧