SOCKET网络的收发协议问题
请问大家:VC编写SOCKET客户端程序,调用服务器端的信息,现在的问题是,客户端发送信息后,是不是要等待服务器回信息确认才行还是只要发送成功,就认为对方能成功接受?
我现在是发送出去就不管了,直接等返回的数据。
问题点数:20、回复次数:6Top
1 楼stone_oo(孤傲浪子,回不回头)回复于 2006-12-01 08:55:01 得分 4
看你的情况而定了,最好用异步.
因为在你客户端发出包后,可能遇到如:服务器断开,网络断开、延时等多种可能,都会导致你的包发出去了,但是不一定服务器就可以收的到。Top
2 楼sunboyljp()回复于 2006-12-01 13:08:11 得分 4
有发就有收!所以肯定可以收到Top
3 楼NetSniffer(扑克)回复于 2006-12-02 12:17:19 得分 4
你用SOCKET send返回指定的字节数就说明发出去了Top
4 楼RunningYang(sv)回复于 2006-12-02 12:47:17 得分 4
楼上说的是只发送到了TCP协议层了吧
还不能确定是否到了物理层了吧?Top
5 楼cnlzx(喂~小心!)回复于 2006-12-02 13:04:55 得分 4
一般应用层的软件就靠send的返回值来判断发送的状态就好了吧,
如果应用层的软件传输个文件,每个包都要等确认包效率太低了点吧~~~Top
6 楼zengxiaodonghc(冬冬)回复于 2006-12-02 19:57:33 得分 0
我的想法和cnlzx(喂~小心!)的一样的,但我也就怕出现RunningYang(快乐小羊)这样的现象,导致出现了stone_oo() 这样的结果,所以才上来讨论讨论的,谢谢捧场!我现在是根据send的返回值来判断发送的,而且,我现在的服务器就一个,不需要做路由。也就是说如果服务器断开,网络断开、那本来就不需要处理的。只要保持在网络和服务都正常的情况下,能稳定工作就可以了。Top




