
Enet
zhuix7788
这个作者很懒,什么都没留下…
展开
-
enet学习(二):enet_peer_send()函数
/** Queues a packet to be sent. @param peer destination for the packet @param channelID channel on which to send @param packet packet to send @retval 0 on success @retval < 0 on fa原创 2015-05-04 09:50:30 · 1381 阅读 · 0 评论 -
ENET(六)——enet_peer_setup_outgoing_command()函数
发送端(四中)调用的enet_peer_setup_outgoing_command()函数功能是:将待发送的数据放入list队列中,很好理解:ENetOutgoingCommand为真正待发送的数据。voidenet_peer_setup_outgoing_command (ENetPeer * peer, ENetOutgoingCommand * outgoingComma原创 2015-05-08 11:37:43 · 994 阅读 · 0 评论 -
ENET(五)--enet_peer_send()函数
这个函数用于ENET发送数据。peer为对端,packet为待发送的数据包int enet_peer_send (ENetPeer * peer, enet_uint8 channelID, ENetPacket * packet){ ENetChannel * channel = & peer -> chan原创 2015-05-07 15:17:44 · 1655 阅读 · 0 评论 -
ENet(八)——enet_protocol_dispatch_incoming_commands
在enet_host_service函数中首先调用的是enet_protocol_dispatch_incoming_commands函数。这个函数服务端和客户端都会调用,只是:服务端每次接受包时都会调用,但由于每次list都是空的,并不进入while。直到send函数和receive结束后list中接收到了包,才会客户端只在连接服务端前调用,连接成功后就不再调用,因为event为null原创 2015-05-15 13:00:03 · 921 阅读 · 0 评论 -
ENET(四)enet_protocol_send_acknowledgements
功能:host发送enet数据包到另一端peer,数据包内容在peer中保存。commandCount、bufferCount等都是对端的个数,如果是一对一发送,该值为1.函数:enet_protocol_send_acknowledgements static void enet_protocol_send_acknowledgements (ENetHost * host, EN原创 2015-05-07 14:32:50 · 958 阅读 · 4 评论 -
ENet(九)——
之前少写了个函数,receive,这个是服务端接收函数,在enet_host_service函数中调用,服务端进入service函数后调receive,而客户端进入service函数后调send函数。static intenet_protocol_receive_incoming_commands (ENetHost * host, ENetEvent * event){原创 2015-05-15 13:01:28 · 876 阅读 · 0 评论 -
Enet学习(三)--enet_host_service
/** Waits for events on the host specified and shuttles packets between the host and its peers.原创 2015-05-04 17:42:46 · 2839 阅读 · 0 评论 -
Enet学习(一)
目前正在研究Enet的重传机制;传输过程如下: while(1) { memset(buff,0,BUFFLEN); ret=fread(buff,1,BUFFLEN,fp); if(ret<=0){ break; } ENetPacket *pa原创 2015-04-27 17:55:41 · 2452 阅读 · 0 评论 -
ENET(七)——enet_socket_send()函数
接enet(四):该函数是用于发送的socket函数,是真正的发送动作,代码中可看到是UDP网络发送,发送函数用的是sendmsg()发送函数有三个,send/sendto/sendmsg,这里用最后一个,是因为:sendmsg可以发送一些控制信息,直接用sendmsg相比send效率应该也高一些,毕竟后者实际也是调用前者。比如说, 当你要传输的数据位于两个buffer之中,你用send,原创 2015-05-08 15:09:45 · 1187 阅读 · 0 评论