cocos2d-x客户端与Java服务器的通信(一)

2023-11-08

(⊙o⊙)…貌似自己已经有一段时间没有写博客了,其实主要原因还是觉得自己水平有限,加上上班实在是太忙,实在抽不出时间来写博客。言归正传,大家都知道,在网络游戏开发中,

网络通信一直是个比较大的难题,一个服务器可能要同时处理几千上万甚至上百万的用户数据,当然,仅仅是通信那是比较简单,但要设计到一个很好的通信架构确实还是比较难的,当然这些设计结构不是这篇博文的内容,哈哈,只是实现cocos2d-x客户端和Java服务端的一个连接而已,至于两端的数据传输暂时不说,^_^

首先,我们需要ODSocket这个类,至于这是什么个东西,大家可以执行google.


//----------server [ Java ] --------------------------

package com.socket;
import java.net.ServerSocket;
import java.net.Socket;
public class SocketDemo{
	public static void main(String[] args) {
		
		test();
	}
	
	private static void test()
	{
		ServerSocket serverSocket = null;
		Socket socket = null;
		
		try {
			
			System.out.println("ServerStart....");
			serverSocket = new ServerSocket(9999);
			socket = serverSocket.accept();
			System.out.println("Connect success...");

			serverSocket.close();
			socket.close();	
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}


// ---------------------------- Client [C++/cocos2dx] ------------------------------

这里的客户端我就是建了一个Cocos2dx工程,然后将menuCloseCallback函数改成连接功能(如下)而已,\(^o^)/~

ODSocket* socket = new ODSocket();
	socket->Init();
	socket->Create(AF_INET,SOCK_STREAM,0);
	bool isConnet = socket->Connect("127.0.0.1",9999);

	LabelTTF* label = dynamic_cast<LabelTTF*>(getChildByTag(TAG_LABEL));
	if (NULL != label)
	{
		if (isConnet)
		{
			label->setString("connect success!");
			label->setColor(ccGREEN);
		}
		else
		{
			label->setString("connect failed!!");
			label->setColor(ccRED);
		}
			
	}

运行截图:

1.服务器启动:



2.客户端开启-默认状态(看到这个界面大家是不是觉得很亲切哇哈哈~):



3.点击右下角的关闭按钮进行连接


4.连接成功,一次Socket连接成功完成,哇咔咔!!


好了,本博文的内容就是那么简单,大侠们勿喷!!!



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cocos2d-x客户端与Java服务器的通信(一) 的相关文章

随机推荐

  • oracle表的常见字段类型有哪些,Oracle数据库的字段类型

    字 段 类 型 CHAR 固定长度字符串 最大长度2000 bytes VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749 NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes N
  • k8s七

    参考资料 深入剖析Kubernetes 张磊 目录标题 一 DaemonSet 简介 二 DaemonSet的实现原理 1 DaemonSet是如何确保每个节点只运行一个Pod 2 如何只在指定的节点上运行Pod 3 污点与容忍 三 使用D
  • 利用sprintf和sscanf实现十六进制和十进制之间的相互转换

    利用sprintf和sscanf实现十六进制和十进制之间的相互转换 2013 10 27 12 49 7497人阅读 评论 0 收藏 举报 分类 C C 语言 369 版权声明 本文为博主原创文章 未经博主允许不得转载 cpp view p
  • 金蝶 K3 ERP 采购管理 表结构明细 POOrder/Entry

    select from t TableDescription 金蝶K3表名备注 t tabledescription 采购订单POOrder 单头 FBrNo 公司机构内码 STRING 公司机构内码 FTranType 单据类型 INTE
  • X.509数字证书内容结构

    更多区块链技术与应用分类 区块链应用 区块链开发 以太坊 Fabric BCOS 密码技术 共识算法 比特币 其他链 通证经济 传统金融场景 去中心化金融 防伪溯源 数据共享 可信存证 X 509证书 数字证书是现代信息安全的核心技术 无论
  • Calendar类常用方法

    Calendar常量 field 的作用 Calendar cal Calendar getInstance cal get Calendar DATE 当天 1 31 cal get Calendar DAY OF MONTH 当天 1
  • JTest的使用

    jtest 项目中用到了JTest 一款商业化java白盒测试工具 开个头慢慢补充 简介 jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具 它通过自 动实现java的单元测试和代码标准校验 来提高代码的可靠性
  • elasticsearch集群文件及路径设置

    es集群文件路径 1 数据目录 日志目录以及插件目录 默认情况下es会将plugin log data config file都放在es的安装目录中 这有一个问题 就是在进行es升级的时候 可能会导致这些目录被覆盖掉使我们集群中的文件或数据
  • Postman应用——下载注册和登录

    文章目录 下载安装 注册登录 注册账号 登录账号 下载安装 Postman下载 https www postman com 访问链接后 进入首页 根据自己的操作系统下载对应的版本 找到下载到的目录直接双击 exe文件 会默认安装在C盘 安装
  • LeetCode(力扣)题目中二叉树的如何生成?根据给定顺序列表生成二叉树(python)

    在刷 leetcode 二叉树相关的题目时 经常有这样给定的例子 例如 检查平衡性 实现一个函数 检查二叉树是否平衡 在这个问题中 平衡树的定义如下 任意一个节点 其两棵子树的高度差不超过 1 示例 1 给定二叉树 3 9 20 null
  • Mybatis-plus 分页排序 错乱-丢失

    今天生产环境出行了一个分页排序错乱的问题 当时有点懵 用的mybatis plus的分页插件实现的 往常也用但是没有出现这个 分页排序 错乱 丢失问题 说实话当时有点懵 经过排查分析 得出了结果 Mybatis plus 分页排序 错乱 丢
  • C语言变参数函数详解

    文章目录 一 前言 二 printf函数源码 三 C语言函数调用堆栈过程 调用约定 压栈过程 那么再来看看其他情况 四 C语言实现可变参数详解 五 需要关注的一些问题 一 前言 在C语言中 我们不管是使用标准库函数还是使用自定义的函数 我们
  • 帧同步(LockStep)该如何反外挂

    在中国的游戏环境下 反挂已经成为了游戏开发的重中之重 甚至能决定一款游戏的生死 吃鸡就是一个典型的案例 目前参与了了一款动作射击的MOBA类游戏的开发 同步方案上选择了帧同步技术 LockStep而非snapshots以下同 那么就有很多人
  • LUA实现麻将胡牌判定

    用LUA实现麻将胡牌的一个思路 hand table 41 42 43 22 21 43 22 11 11 11 42 33 33 33 手牌 card count table 1 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8
  • 【若依】线程池,分页工具,定时任务,aop日志,全局异常处理功能实现

    若依 线程池 分页工具 定时任务 aop日志 全局异常处理功能实现 1 分页工具 使用方法 在调用sql语句前 调用 PageHelper startPage 方法就行了 若依包装过了 调用startPage 方法 1 pagehelper
  • 用c++编写的植物大战僵尸

    源码如下 include
  • 显卡3080设备CentOS 7.9 环境安装最新anconda、tensorflow-gpu 、cudatoolkit、cudnn、 python

    目标 使用3080显卡搭建环境 系统安装 显卡驱动安装 安装anconda 安装 python 安装 cuda 安装 cudnn 安装 tensorflow 一 系统安装 详见历史文档 二 显卡驱动安装 详见历史 三 整理自己需要安装的环境
  • 期货不变的本质是什么意思(期货不变的本质是什么意思呀)

    期货的本质是什么 本质是一个风险转移工具 通过把风险转移给愿意投机获利 亏损的人 产业方得以获得确定的盈利预期 这是期货的核心价值 狭义理论认为期货市场是 零和 负和 游戏 但如果把眼光放宽 把实体产业加进来 可以发现期货是市场环境里一项必
  • web python识花_TensorFlow迁移学习识花实战案例

    TensorFlow 迁移学习识花实战案例 本文主要介绍如何使用迁移学习训练图片识别花朵的模型 即识别出图片上是何种花朵 本文档中涉及的演示代码和数据集来源于网络 你可以在这里下载到 TRANSFER LEARNING zip 本模块将通过
  • cocos2d-x客户端与Java服务器的通信(一)

    o 貌似自己已经有一段时间没有写博客了 其实主要原因还是觉得自己水平有限 加上上班实在是太忙 实在抽不出时间来写博客 言归正传 大家都知道 在网络游戏开发中 网络通信一直是个比较大的难题 一个服务器可能要同时处理几千上万甚至上百万的用户数据