ProudNet使用方法#2:发送和接收消息

ProudNet 介绍
ProudNet是研究游戏软件开发的游戏服务端 &网络引擎。

服务器与客户端连接成功即可发送和接收消息。

调用SendUserMessage。

首先,参数是“发送给谁”。 添加一个HostID或者HostID数组即可,如果加入数组一次性同时传输多个,这被称作多址传输。

其次,“以什么方式发送”。 这被称作RmiContext.  

可靠性发送称作(reliable) , 忽略可靠性无延迟发送称作(unreliable)。 这两项常常被使用。

最后,“发送什么”。把要发送的数据加入字节数组中即可。

参考ProudNet使用方法#1NetClient c, NetServer s 。

 

1.  [C++]   

2.      

3.  unsigned char data[100];   

4.      

5.  c->SendUserMessage(HostID_Server,   

6.      RmiContext::ReliableSend, data, 100);   

7.  s->SendUserMessage(ClientHostID,   

8.      RmiContext::UnreliableSend, data, 50);   

9.      

10. HostID sendTo[10];   

11. s->SendUserMessage(sendTo, 10,   

12.     RmiContext::UnreliableSend, data, 30);   

13.     

14. [C#]   

15.     

16. var data = new byte[100];   

17. c.SendUserMessage(HostID.Server,   

18.     RmiContext.ReliableSend, data);   

19.     

20. var sendTo = new HostID[2];   

21. s.SendUserMessage(sendTo,   

22.     RmiContext.UnreliableSend, data);

 

发送信息后接收数据部分在 OnReceiveUserMessage 操作。

第一“从哪里接收”即,HostID.

第二“如何接收”,RmiContex.

第三“接收什么”,接收二进制数据。

 

1.  [C++]   

2.   

3.  c->Set_OnReceiveUserMessage([...]  

4.      (HostID sender, const RmiContext& rmiContext,   

5.      uint8_t* payload, int payloadLength)   

6.      {  

7.          ... // 接收事件处理。

8.      });  

9.      

10. [C#]   

11.     

12. c.ReceiveUserMessageHandler =   

13.     (sender, rmiContext, payload) => {  

14.     {  

15.         ... // 接收事件处理。

16.     };  

17.     

ProudNet 接收数据 的方式是多样化的。

 

可添加更多的选项使用如:加密,压缩功能。在中国和东南亚网络环境下P2P 限制多传播,通信量过大导致的问题,通过学习使用ProudNet 都可以得到有效的解决。对于这些生硬的数据进行接收传输环境的构建是相当复杂的,可以通过ProudNet 中的RMI 强化功能来代替这一切。

总结:

1.    调用  SendUserMessage。

2.    调用 OnReceiveUserMessage。

转载于:https://my.oschina.net/ProudNet/blog/693444

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值