从零开始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 ...
随机推荐
- CF1045G AI robots
CF1045G AI robots 题目大意就不说了 这道题可以用CDQ分治做 但是,如何选择CDQ分治的维度一直是CDQ分治的难点所在 这道题我们有三种选择 1.让智商高的数智商低的 2.让看的近的 ...
- APK签名替换检测
APK二次打包的危害 APK二次打包是Android应用安全风险中的一部分, 一般是通过反编译工具向应用中插入广告代码与相关配置,再在第三方应用市场.论坛发布.打包党对移动App带来的危害有以下几种: ...
- POJ 2976 Dropping tests [二分]
1.题意:同poj3111,给出一组N个有价值a,重量b的物品,问去除K个之后,剩下的物品的平均值最大能取到多少? 2.分析:二分平均值,注意是去除K个,也就是选取N-K个 3.代码: # inclu ...
- [梁山好汉说IT] 如何理解脑裂问题
[梁山好汉说IT] 如何理解脑裂问题 这个系列是通过梁山好汉的例子来阐述一些IT概念. 1. 问题描述 Split-brain, 就是在集群环境中,因为异常情况发生后,产生两个子集群.每个子集群都选出 ...
- JVM执行引擎
1.概述 执行引擎是jvm核心组成部分之一,建立在物理器,硬件和操作系统层面之上,引擎在执行代码时会有解释执行和编译执行两种选择,输入字节码文件,字节码解析输出结果. 2.栈帧 栈帧是用于支持虚拟机进 ...
- 在加权无向图上求出一条从1号结点到N号结点的路径,使路径上第K+1大的边权尽量小
二分+最短路算法 #include<cstdio> #include<iostream> #include<cstring> #include<algorit ...
- 015 Ceph的集群管理_1
一.理解Cluster Map cluster map由monitor维护,用于跟踪ceph集群状态 当client启动时,会连接monitor获取cluster map副本,发现所有其他组件的位置, ...
- 洛谷$P1155$ 双栈排序 贪心+二分图匹配
正解:贪心+二分图匹配 解题报告: 传送门$QwQ$ 跪了,,,我本来以为我$NOIp$做得差不多了,,,然后康了一眼发现没做多少啊其实$QAQ$ 然后来康题趴$QwQ$ 首先考虑如果只有一个栈的情况 ...
- docker-网络驱动
网络驱动程序 Docker的网络子系统是可插拔的,使用驱动程序.默认情况下存在多个驱动程序,并提供核心网络功能: bridge:默认网络驱动程序.如果未指定驱动程序,则这是要创建的网络类型.当的应用程 ...
- 《C++Primer》第五版习题解答--第四章【学习笔记】
[C++Primer]第五版习题解答--第四章[学习笔记] ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/11 第四章:表达式 练习4. ...