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数据库的更多相关文章

  1. 从零开始ming的多人联机游戏--游戏客户端(1)六边形地图

    打算做的小游戏是一个多人联机的策略类游戏,类似于<文明>那种 游戏的玩法并不确定,开这个坑主要是为了入门后端开发,顺便熟悉下游戏开发 这篇文章使用unity,实现了六边形单元地图的创建.后 ...

  2. 基于 WebRTC 创建一款多人联机游戏

    本项目的目标旨在尽可能少用服务器资源的前提下研发一款在线多人游戏,同时期望在一个用户的浏览器上运行游戏,同时让另一个玩家来连接.此外还希望程序尽可能简单以便于在博客中分析. 运用的技术 在我刚接触 P ...

  3. 从零开始---控制台用c写俄罗斯方块游戏(1)

    从零开始---控制台用c写俄罗斯方块游戏(1) 很少写博文,一来自身知识有限,二来自己知道,已经有很多这样的博文了,三就是因为懒,文笔也一般,四来刚出来工作,时间也不多 之所以写这篇博文,是因为应群里 ...

  4. 如何从零开始学Python?会玩游戏就行,在玩的过程就能掌握编程

    现在学习编程的人很多,尤其是python编程,都列入高考了,而且因为人工智能时代的到来,编程也将是一门越来越重要的技能. 但是怎么从零开始学python比较好呢?其实,你会玩游戏就行. 从零基础开始教 ...

  5. 从零开始开发一款H5小游戏(二) 创造游戏世界,启动发条

    本系列文章对应游戏代码已开源 Sinuous game 上一节介绍了canvas的基础用法,了解了游戏开发所要用到的API.这篇文章开始,我将介绍怎么运用这些API来完成各种各样的游戏效果.这个过程更 ...

  6. N人报数第M人出列游戏问题(约瑟夫问题)

    这是一道华为的机试题,后来才知道也叫约瑟夫问题,题目是这样的:有n个人围成一圈,玩一个游戏,规则为将该n个人编号为1,2,......n, 从编号为1的人开始依次循环报数,报道第m的时候将第m个人从队 ...

  7. 【坦克大战】Unity3D多人在线游戏(泰课的坦克大战--旋转的螺丝钉)

    [坦克大战]Unity3D多人在线游戏 http://www.taikr.com/my/course/937 1.NetworkManager的介绍: 说明:选择固定生成时会自动寻找有StartPos ...

  8. 试玩 GOWOG ,初探 OpenAI(使用 NeuroEvolution 神经进化)与 Golang 多人在线游戏开发

    GOWOG: 原项目:https://github.com/giongto35/gowog 我调整过的:https://github.com/Kirk-Wang/gowog GOWOG 是一款迷你的, ...

  9. 从零开始开发一款H5小游戏(三) 攻守阵营,赋予粒子新的生命

    本系列文章对应游戏代码已开源 Sinuous game. 每个游戏都会包含场景和角色.要实现一个游戏角色,就要清楚角色在场景中的位置,以及它的运动规律,并能通过数学表达式表现出来. 场景坐标 canv ...

随机推荐

  1. 2018-10-23-使用-Pandoc-把-Markdown-转-Docx

    title author date CreateTime categories 使用 Pandoc 把 Markdown 转 Docx lindexi 2018-10-23 10:56:18 +080 ...

  2. shell 脚本文件十六进制转化为ascii码代码, Shell中ASCII值和字符之间的转换

    Shell中ASCII值和字符之间的转换     1.ASCII值转换为字符        方法一: i=97 echo $i | awk '{printf("%c", $1)}' ...

  3. codeforces gym100801 Problem J. Journey to the “The World’s Start”

    传送门:https://codeforces.com/gym/100801 题意: 小明坐地铁,现在有n-1种类型的地铁卡卖,现在小明需要买一种地铁票,使得他可以在t的时间内到达终点站,地铁票的属性为 ...

  4. java 如何重写equals

    java中重写equals表面上看只涉及equals与hashCode两个方法,但如果仔细考虑发现重写一个逻辑完整的equals并不容易,需要考虑克隆,继承(多态)等问题,下面是最近的几点心得 1.先 ...

  5. Vue.js provide / inject 踩坑

    最近学习JavaScript,并且使用vuejs,第一次使用依赖注入,结果踩坑,差点把屏幕摔了..始终获取不到如组件的属性,provide中的this对象始终是子组件的this对象 慢慢也摸索到了些v ...

  6. slim中的请求URI

    请求 URI 每个 HTTP 请求都有一个识别被请求的应用程序资源的 URI .HTTP 请求 URI 分为这几部分: Scheme (e.g. http or https) Host (e.g. e ...

  7. Spring注解之@Autowired、@Qualifier、@Resource、@Value

    前言 @Autowired.@Qualifier.@Resource.@Value四个注解都是用于注入数据的,他们的作用就和在xml配置文件中的bean标签中写一个标签的作用是一样的!本篇中特别要讲解 ...

  8. nginx负载均衡的相关配置

    一台nginx的负载均衡服务器(172.25.254.131) 两台安装httpd作为web端 一.准备工作 1.1 安装nginx yum -y install gcc openssl-devel ...

  9. Python 线性回归(Linear Regression) - 到底什么是 regression?

    背景 学习 Linear Regression in Python – Real Python,对 regression 一词比较疑惑. 这个 linear Regression 中的 Regress ...

  10. sql函数实用——字符函数(sqlserver与mysql对比)

    1.获取长度 sqlserver写法:关键字:len()    获取参数的字符数量 select  Len('aksjdhh')    输出结果 7 select len('张无忌ooo')   输出 ...