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

Raknet是一个用于建立UDP和TCP通信的开源库,尤其适用于游戏项目。本文介绍如何在CentOS上用Code::Blocks创建Server和Client两个终端工程,并详细阐述配置过程和代码实现,涉及libraknet.so、libpthread.so库的链接以及Raknet头文件的引用。同时,提供了Server和Client端的代码示例,展示实际运行效果。
摘要由CSDN通过智能技术生成

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、付费专栏及课程。

余额充值