最近在写这个方面的程序!
假设客户端是发送数据的,服务器是用来接收数据的!
我认识到的顺序是:派生于CAsyncSocket
1,服务器建一个socket来create and listen
2,客户端建一个socket来create and connect(这个时候服务器端自动触发OnAccept(),客户端自动触发OnConnect())
3,服务器端在建一个socket来接收数据!
4,客户端send数据,这个时候客户端自动触发OnSend()
5,服务器端自动触发OnReceive(),用来接收数据(在这个里面写各种Receive函数)
6,数据不停得在发送,这个时候服务器在不停得接收触发OnReceive()
7,数据接收完毕,各个socket关闭!
socket的运行方式是这样的么?
我觉得在第5部的时候不对,是不是服务器端当有数据发送过来的时候,用Receive来接收数据,这样才能触发OnReceive(),啊?
在OnReceive方法中来做些什么东西呢?还得调用Receive()来接受数据是么?
就是得用Receive来触发OnReceive,所以你必须不断的调用Receive。
你可以看成是这样:
Receive(...)
{
if(网络有数据)
OnReceive();
else
其它处理
}
你可以看成是这样:
Receive(...)
{
if(网络有数据)
OnReceive();
else
其它处理
}