从零开始ming的多人联机游戏(3)为socket通讯添加mysql数据库
macOS下visual studio C#加载mySql
本文在上一节的基础上,添加了mysql数据库的功能。client发送信息给服务器后,服务器将收到的消息保存在数据库中。
如果client发送的消息为特殊指令,服务器会调用数据库数据。例如服务器收到消息字符串为“_SHOW_ME_MESSAGE”时,
将发送服务器中保存的全部消息给client。
------------------------------------------------------------
1.安装mySql
首先下载mySql:https://dev.mysql.com/downloads/mysql/
安装的时候会设置密码。
安装后打开终端输入命令:mysql

会发现没有这条指令,原来是mySql没有添加环境变量。
根据自己的shell添加环境变量,一般大家的都是bash
那就在终端中输入指令:open ~/.bash_profile
在打开的文本末尾添加一行:PATH=$PATH:/usr/local/mysql/bin
保存后关闭文本,在终端中执行指令激活环境变量:source ~/.bash_profile
而我的shell是zsh,那就是:

然后在文本中添加:PATH=$PATH:/usr/local/mysql/bin
再关闭文本,激活环境变量:

然后输入命令:mysql -uroot -p
输入安装的时候设的密码,就进入mysql环境啦

mysql可以通过命令行指令操作,指令可以通过help;指令查看,也可以去官网看文档。
不过菜鸟教程这个网站上的介绍是中文的:https://www.runoob.com/mysql/mysql-tutorial.html
另外,最好还是安装一个可视化的工具管理你的数据库:navicat
下载地址:https://www.navicat.com.cn/products/navicat-premium
------------------------------------------------------------
2.mySql中建立数据库
安装好后,打开navicat新建mysql连接:


密码就是上面那个密码,连接名如果不写的话也会自动生成的。
然后再新建一个数据库,就叫做Notepad
在数据库中新建表:

建好之后就是这样子的,我手动添加了一条记录:1 bob nothing,这条记录什么用都没有啦

上面新建数据库添加表等操作都可以通过终端输入指令的方式完成
我们是用C#脚本访问数据库,进行添加删除等操作也都是利用C#写入mysql指令进行的。
mysql官网的文档中提供的C#,C++,PHP等多种语言的调用方法,官方说法是X协议
C#的调用协议在:https://dev.mysql.com/doc/dev/connector-net/8.0/html/connector-net-reference.htm
------------------------------------------------------------
3.为C#工程添加mySql引用
首先下载mySql的dll文件
https://dev.mysql.com/downloads/connector/net/1.0.html
选择这个:

在visual studio中打开菜单栏:项目->添加引用

添加了dll文件后在C#脚本中使用mysql函数就没问题了

------------------------------------------------------------
4.本文代码在:
https://github.com/isyiming/socket/tree/master/3.socket_mysql
这个系列的学习记录我会一直更新下去,没事的话给我比个心^~^
首先运行socket_mysql_services服务器脚本,在运行socket_mysql_client客户端脚本,发送消息给服务器

从零开始ming的多人联机游戏(3)为socket通讯添加mysql数据库的更多相关文章
- 从零开始ming的多人联机游戏--游戏客户端(1)六边形地图
打算做的小游戏是一个多人联机的策略类游戏,类似于<文明>那种 游戏的玩法并不确定,开这个坑主要是为了入门后端开发,顺便熟悉下游戏开发 这篇文章使用unity,实现了六边形单元地图的创建.后 ...
- 基于 WebRTC 创建一款多人联机游戏
本项目的目标旨在尽可能少用服务器资源的前提下研发一款在线多人游戏,同时期望在一个用户的浏览器上运行游戏,同时让另一个玩家来连接.此外还希望程序尽可能简单以便于在博客中分析. 运用的技术 在我刚接触 P ...
- 从零开始---控制台用c写俄罗斯方块游戏(1)
从零开始---控制台用c写俄罗斯方块游戏(1) 很少写博文,一来自身知识有限,二来自己知道,已经有很多这样的博文了,三就是因为懒,文笔也一般,四来刚出来工作,时间也不多 之所以写这篇博文,是因为应群里 ...
- 如何从零开始学Python?会玩游戏就行,在玩的过程就能掌握编程
现在学习编程的人很多,尤其是python编程,都列入高考了,而且因为人工智能时代的到来,编程也将是一门越来越重要的技能. 但是怎么从零开始学python比较好呢?其实,你会玩游戏就行. 从零基础开始教 ...
- 从零开始开发一款H5小游戏(二) 创造游戏世界,启动发条
本系列文章对应游戏代码已开源 Sinuous game 上一节介绍了canvas的基础用法,了解了游戏开发所要用到的API.这篇文章开始,我将介绍怎么运用这些API来完成各种各样的游戏效果.这个过程更 ...
- N人报数第M人出列游戏问题(约瑟夫问题)
这是一道华为的机试题,后来才知道也叫约瑟夫问题,题目是这样的:有n个人围成一圈,玩一个游戏,规则为将该n个人编号为1,2,......n, 从编号为1的人开始依次循环报数,报道第m的时候将第m个人从队 ...
- 【坦克大战】Unity3D多人在线游戏(泰课的坦克大战--旋转的螺丝钉)
[坦克大战]Unity3D多人在线游戏 http://www.taikr.com/my/course/937 1.NetworkManager的介绍: 说明:选择固定生成时会自动寻找有StartPos ...
- 试玩 GOWOG ,初探 OpenAI(使用 NeuroEvolution 神经进化)与 Golang 多人在线游戏开发
GOWOG: 原项目:https://github.com/giongto35/gowog 我调整过的:https://github.com/Kirk-Wang/gowog GOWOG 是一款迷你的, ...
- 从零开始开发一款H5小游戏(三) 攻守阵营,赋予粒子新的生命
本系列文章对应游戏代码已开源 Sinuous game. 每个游戏都会包含场景和角色.要实现一个游戏角色,就要清楚角色在场景中的位置,以及它的运动规律,并能通过数学表达式表现出来. 场景坐标 canv ...
随机推荐
- js中的克隆
1.如果克隆对象是基本类型,直接复制就可以 <script type="text/javascript"> var str1 = 'abc' var str2 = st ...
- Linux 内核 kobject 初始化
本书已经展示了许多数据类型, 带有简单的在编译或者运行时初始化机制. 一个 kobject 的初始化有些复杂, 特别当使用它的所有函数时. 不管一个 kobject 如何使用, 但是, 必须进行几个步 ...
- 2018-9-30-C#-使用外部别名
title author date CreateTime categories C# 使用外部别名 lindexi 2018-09-30 18:37:23 +0800 2018-07-02 14:31 ...
- dotnet 手动解决 json 解析中不合法字符串
如果使用 Newtonsoft Json 解析字符串,字符串里面有不清真的格式,那么默认的解析将会炸掉.如果想要自己解决字符串中的不清真格式,可以使用传入 JsonSerializerSettings ...
- 【42.49%】【hdu 1542】Atlantis(线段树扫描线简析)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s) ...
- C# dotnet 获取整个局域网的 ip 地址
局域网可以使用的 IP 地址有很多,我写了一段代码用来枚举所有可以用的 ip 地址 小伙伴都知道,局域网可以使用的 IP 范围如下 A类地址:10.0.0.0 - 10.255.255.255 B类地 ...
- git无密码push
近来项目中调研,jupyterlab和git的整合内容,git server我使用的gitbucket和bitbucket.(项目要求使用bitbucket,看错一个字母下载了两个镜像) gitbuc ...
- 2017.5.11 昨天晚上看fview直播坚果pro回放
对话1 彭林: 我以前也是产品经理,身为产品经理,你有没有感觉我们做出过什么之前不被人接受的东西,但是我们却坚持做了,并且得到的反响非常好. 朱萧木: 没有吧,我们没有做颠覆用户认知或者三观的特别 ...
- 使用Git和Github来管理自己的代码和笔记
一.Github注册 1.先注册github.com的账号,官方网站: https://github.com/ 2.登录 3.创建仓库,仓库分公开的和私有的,公开的是免费的,私有的是收费的.我现在创建 ...
- mysql主从之keepalive+MySQL高可用
一 keepalive介绍 1.1 keepalived 是什么 keepalived 是集群管理中保证集群高可用的一个服务软件,用来防止单点故障. 1.2 keepalived 工作原理 keepa ...