RAKENT创建UDP实例,RAKNET简单通讯实例

Raknet是一套开源的网络通讯库,它很方便的建立基于UDP和TCP的通讯应用项目,特别是游戏项目的网络通讯应用场景。


1. 建立 Server/Client 两个终端工程

  • 使用Code::Blocks新建两个Empty Project(空项目),您可以参考《Centos6.2如何安装Code::Blocks
  • 选中项目右键Build Options(编译选项)
  • 选中Linker settings的标签,点击Add 添加两个库支持文件。
  1. /usr/local/lib/libraknet.so 是上篇文章《Centos6.2下的精装伴侣:Raknet & Code::Blocks 安装方法实操指引》编译生成的Raknet库文件,It's important so.
  2. /usr/lib64/libpthread.so 看文件名可以猜到,这是linux pthread函数库,也即是多线程的支持库。
  • 选中Search directories,点击Add可添加Raknet结构定义头文件
  1. /usr/local/include/raknet/  是Raknet的结构定义头文件,相当include的寻找路径
一切就绪,下面就是编写代码的时候了!

2. Server端代码

#include "MessageIdentifiers.h"
#include "RakPeerInterface.h"
#include "RakNetTypes.h"

#include "RakSleep.h"
#include "Kbhit.h"
#include "Gets.h"

#include "GetPacketIdentifier.h"

// 监听端口
#define SERVER_PORT 60005

int main(void)
{
    RakNet::RakPeerInterface *server=RakNet::RakPeerInterface::GetInstance();
	server->SetIncomingPassword("user_defined_string", (int)strlen("user_defined_string"));
	server->SetTimeoutTime(30000,RakNet::UNASSIGNED_SYSTEM_ADDRESS);

	RakNet::Packet* p;  // 保存接收的数据在
    unsigned char packetIdentifier; // 包类型

    RakNet::SystemAddress clientID=RakNet::UNASSIGNED_SYSTEM_ADDRESS;
	char message[2048];

	// IPV4/IPV6
	RakNet::SocketDescriptor socketDescriptors[2];
	socketDescriptors[0].port=SERVER_PORT;
	socketDescriptors[0].socketFamily=AF_INET; // Test out IPV4
	socketDescriptors[1].port=SERVER_PORT;
	socketDescriptors[1].socketFamily=AF_INET6; // Test ou
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值