查看: 984|回复: 15

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

[复制链接]
  • TA的每日心情
    无聊
    2017-10-9 12:52 PM
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-9-7 03:31 PM | 显示全部楼层 |阅读模式
    ProudNet究游戏软开发的游 &网络引擎
    服务器与客户端连接成功即可发送和接收消息。
    调用SendUserMessage。
    首先,参数是“发送给谁”。 添加一个HostID或者HostID数组即可,如果加入数组一次性同时传输多个,这被称作多址传输。
    其次,“以什么方式发送”。 这被称作RmiContext.  
    可靠性发送称作(reliable) , 忽略可靠性无延迟发送称作(unreliable)。 这两项常常被使用。
    最后,“发送什么”。把要发送的数据加入字节数组中即可。
    参考ProudNet使用方法#1NetClient c, NetServer s 。
    1.  [C++]   
    2.      
    3.  unsigned chardata[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.      (HostIDsender, 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。

  • TA的每日心情
    无聊
    2017-10-9 12:52 PM
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2016-9-9 05:03 PM | 显示全部楼层
    其实我是看不懂的~额
  • TA的每日心情
    无聊
    2017-10-9 12:52 PM
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2016-9-12 11:30 AM | 显示全部楼层
    还是希望对喜欢游戏开发的人有帮助
  • TA的每日心情
    无聊
    2017-10-9 12:52 PM
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2016-9-13 11:39 AM | 显示全部楼层
    ProudNet是研究游戏软件开发的游戏服务端 &网络引擎。
  • TA的每日心情
    无聊
    2017-10-9 12:52 PM
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2016-9-14 11:35 AM | 显示全部楼层
    把看帖回帖的美德发扬光大 嘿嘿
  • TA的每日心情
    无聊
    2017-10-9 12:52 PM
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2016-9-16 10:31 AM | 显示全部楼层
    lz不易 还请大家多多关照
  • TA的每日心情
    无聊
    2017-10-9 12:52 PM
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2016-9-19 09:01 AM | 显示全部楼层
    放假也宅在家里玩游戏了的举手
  • TA的每日心情
    无聊
    2017-10-9 12:52 PM
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2016-9-20 09:42 AM | 显示全部楼层
    上学的时候就没学好计算机 现在看这些字符还是迷糊
  • TA的每日心情
    无聊
    2017-10-9 12:52 PM
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2016-9-21 12:33 PM | 显示全部楼层
    好像和电脑有关的我都没什么天赋……
  • TA的每日心情
    无聊
    2017-10-9 12:52 PM
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2016-9-22 09:35 AM | 显示全部楼层
    希望对喜欢游戏开发的人有帮助
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    反馈

    投诉举报 意见反馈 用户协议 论坛规则

    反馈须知: 切勿滥用举报,任何与举报相关的信息必须属实!

    网站资源

    • 客户端
    • 微信
    • 微博

    QQ|小黑屋|手机版|Archiver|维爱社区·求生论坛

    维爱社区 粤ICP备12036312号-3

    GMT+8, 2021-10-20 02:41 PM , Processed in 0.031250 second(s), 31 queries , Gzip On.

    快速回复 返回顶部 返回列表