请教利用connect、send、recv等socket api实现Http访问的问题 能不能发个我一个呢? 谢谢你了my mail: [email protected] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不要随便用完成端口,这个模型不但难,而且它是用来管理在同一时间里有上千个套接字访问得这种情况,虽然它是效能最高得一种套接字模型,而且好象只有win2000才提供这个东西。 我现在利用CAsyncSocket来做,因为其是异步机制,可以引入一些超时的方法其具体实现是按照HTTP协议的要求,使用Send方法发出http的请求,再等待接收数据,即等待OnReceive事件到达目前存在一个问题:接收HTTP的头信息不会有什么问题,头信息是以一个空行结束的,可以判断出来。但是对于Http的Msg部分因为TCP的数据可能不是一次到达的,并且我通过实际的测试发现,根据信息反馈长短的不同有下面几种可能性:1.先收到HTTP头信息,第二次才收到后面的Msg2.先收到HTTP头信息和Msg的一部分,第二次才收到Msg的后一部分3.第一次就收到HTTP头信息和Msg全部这时我通过什么标志可以判断Msg信息全部结束呢?我看过有的socket处理http请求的方法,其接收信息时因为采取的是同步的方法所以没有什么借鉴意义 NT和2000都支持完成端口,不过使用起来有一定困难,我就用来写过一个服务器。如果不是做服务器的话,还是不要用Completion Port。我觉得WSAEventSelect,事件模式是比较容易用的。通过WSAEventSelect把一个Socket和一个通过WSACreateEvent()生成的对象句柄绑定起来,然后用WSAWaitForMultipleEvents来等待这个事件就可以了。可以设定等待的时间长度。 怎样在运行时变换视图布局 怎么判断一个CBitmap类.......... 在MFC中怎样实现将文本输出WORD文档中?(并且可以制定字体) 高手帮我解释一下下面的语句 英语六级+高级程序员=好工作? 关于通过网络传送视频图像,有经验者请进? 如何用ADO取得数据库里面所有表单的列表和名字(在线等候回复) 关于QQ游戏的外挂 求教 tab 控件 当一个页面发生改变时,如何同时改变另外一个页面 大神帮帮忙 如何将一个可执行文件加入开始的启动中? 小问题(100分)
其具体实现是按照HTTP协议的要求,使用Send方法发出http的请求,再等待接收
数据,即等待OnReceive事件到达目前存在一个问题:接收HTTP的头信息不会有什么问题,头信息是以一个空行结束的,可以判断出来。但是对于Http的Msg部分因为TCP的数据可能不是一次到达的,并且我通过实际的测试发现,根据信息反馈长短的不同有下面几种可能性:
1.先收到HTTP头信息,第二次才收到后面的Msg
2.先收到HTTP头信息和Msg的一部分,第二次才收到Msg的后一部分
3.第一次就收到HTTP头信息和Msg全部这时我通过什么标志可以判断Msg信息全部结束呢?我看过有的socket处理http请求的方法,其接收信息时因为采取的是同步的方法所以没有什么借鉴意义
如果不是做服务器的话,还是不要用Completion Port。
我觉得WSAEventSelect,事件模式是比较容易用的。通过WSAEventSelect把一个Socket和一个通过WSACreateEvent()生成的对象句柄绑定起来,然后用WSAWaitForMultipleEvents来等待这个事件就可以了。
可以设定等待的时间长度。