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。