Unity3D与MySQL
2015-12-06 09:58
344 查看
[csharp] view
plaincopy
using UnityEngine;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Threading;
public class Client : MonoBehaviour
{
public string ipAddress = "127.0.0.1";
IPAddress ip;
Socket socket;
// Use this for initialization
void Start()
{
ip = IPAddress.Parse(ipAddress);
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(new IPEndPoint(ip, 8885));
}
// Update is called once per frame
void Update()
{
}
void OnGUI()
{
if (GUI.Button(new Rect(0, 20, 100, 20), "Connect"))
{
socket.Send(Encoding.ASCII.GetBytes("test,123456"));
}
}
}
[csharp] view
plaincopy
using System;
using System.Collections.Generic;
using System.Text;
using ProtoBuf;
using System.Net;
using System.Data;
using System.Net.Sockets;
using System.Threading;
using MySql.Data.MySqlClient;
namespace CenterServer
{
class Program
{
private static byte[] result = new byte[1024];
private static Socket serverSocket;
private static int serverPort = 8885;
static void Main(string[] args)
{
IPAddress ip = IPAddress.Parse("127.0.0.1");
serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
serverSocket.Bind(new IPEndPoint(ip, serverPort));
serverSocket.Listen(100);
Console.WriteLine("启动监听{0}成功", serverSocket.LocalEndPoint.ToString());
//通过Clientsoket发送数据
Thread myThread = new Thread(ListenClientConnect);
myThread.Start();
Console.ReadLine();
}
/// <summary>
/// 监听客户端连接
/// </summary>
private static void ListenClientConnect()
{
while (true)
{
Socket clientSocket = serverSocket.Accept();
clientSocket.Send(Encoding.ASCII.GetBytes("Server Say Hello"));
Thread receiveThread = new Thread(ReceiveMessage);
receiveThread.Start(clientSocket);
}
}
/// <summary>
/// 接收消息
/// </summary>
/// <param name="clientSocket"></param>
private static void ReceiveMessage(object clientSocket)
{
Socket myClientSocket = (Socket)clientSocket;
while (true)
{
try
{
//通过clientSocket接收数据
int receiveNumber = myClientSocket.Receive(result);
string[] message = Encoding.ASCII.GetString(result, 0, receiveNumber).Split(',');
string userName = message[0];
string passWord = message[1];
SQLHelper helper = new SQLHelper();
string sql = string.Format("SELECT * FROM test.account where account_name='" + userName + "'");
DataTable dt = helper.Selectinfo(sql);
if ((string)dt.Rows[0]["account_password"] == passWord)
{
Console.WriteLine(userName + " 登录验证成功");
}
else
{
Console.WriteLine(userName + " 登录验证失败");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
myClientSocket.Shutdown(SocketShutdown.Both);
myClientSocket.Close();
break;
}
}
}
public class DBHelper
{
public MySqlConnection GetConn()
{
MySqlConnection mysqlConn = new MySqlConnection("Database='" + "test" + "';Data Source='" + "localhost" + "';User Id='" + "root" + "';Password='" + "" + "'");
return mysqlConn;
}
}
public class SQLHelper : DBHelper
{
/// <summary>
/// 查询操作
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataTable Selectinfo(string sql)
{
MySqlConnection mysqlconn = null;
MySqlDataAdapter sda = null;
DataTable dt = null;
try
{
mysqlconn = base.GetConn();
sda = new MySqlDataAdapter(sql, mysqlconn);
dt = new DataTable();
sda.Fill(dt);
return dt;
}
catch (Exception)
{
throw;
}
}
/// <summary>
/// 增删改操作
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns>执行后的条数</returns>
public int AddDelUpdate(string sql)
{
MySqlConnection conn = null;
MySqlCommand cmd = null;
try
{
conn = base.GetConn();
conn.Open();
cmd = new MySqlCommand(sql, conn);
int i = cmd.ExecuteNonQuery();
conn.Close();
return i;
}
catch (Exception)
{
throw;
}
}
}
}
}
plaincopy
using UnityEngine;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Threading;
public class Client : MonoBehaviour
{
public string ipAddress = "127.0.0.1";
IPAddress ip;
Socket socket;
// Use this for initialization
void Start()
{
ip = IPAddress.Parse(ipAddress);
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(new IPEndPoint(ip, 8885));
}
// Update is called once per frame
void Update()
{
}
void OnGUI()
{
if (GUI.Button(new Rect(0, 20, 100, 20), "Connect"))
{
socket.Send(Encoding.ASCII.GetBytes("test,123456"));
}
}
}
[csharp] view
plaincopy
using System;
using System.Collections.Generic;
using System.Text;
using ProtoBuf;
using System.Net;
using System.Data;
using System.Net.Sockets;
using System.Threading;
using MySql.Data.MySqlClient;
namespace CenterServer
{
class Program
{
private static byte[] result = new byte[1024];
private static Socket serverSocket;
private static int serverPort = 8885;
static void Main(string[] args)
{
IPAddress ip = IPAddress.Parse("127.0.0.1");
serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
serverSocket.Bind(new IPEndPoint(ip, serverPort));
serverSocket.Listen(100);
Console.WriteLine("启动监听{0}成功", serverSocket.LocalEndPoint.ToString());
//通过Clientsoket发送数据
Thread myThread = new Thread(ListenClientConnect);
myThread.Start();
Console.ReadLine();
}
/// <summary>
/// 监听客户端连接
/// </summary>
private static void ListenClientConnect()
{
while (true)
{
Socket clientSocket = serverSocket.Accept();
clientSocket.Send(Encoding.ASCII.GetBytes("Server Say Hello"));
Thread receiveThread = new Thread(ReceiveMessage);
receiveThread.Start(clientSocket);
}
}
/// <summary>
/// 接收消息
/// </summary>
/// <param name="clientSocket"></param>
private static void ReceiveMessage(object clientSocket)
{
Socket myClientSocket = (Socket)clientSocket;
while (true)
{
try
{
//通过clientSocket接收数据
int receiveNumber = myClientSocket.Receive(result);
string[] message = Encoding.ASCII.GetString(result, 0, receiveNumber).Split(',');
string userName = message[0];
string passWord = message[1];
SQLHelper helper = new SQLHelper();
string sql = string.Format("SELECT * FROM test.account where account_name='" + userName + "'");
DataTable dt = helper.Selectinfo(sql);
if ((string)dt.Rows[0]["account_password"] == passWord)
{
Console.WriteLine(userName + " 登录验证成功");
}
else
{
Console.WriteLine(userName + " 登录验证失败");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
myClientSocket.Shutdown(SocketShutdown.Both);
myClientSocket.Close();
break;
}
}
}
public class DBHelper
{
public MySqlConnection GetConn()
{
MySqlConnection mysqlConn = new MySqlConnection("Database='" + "test" + "';Data Source='" + "localhost" + "';User Id='" + "root" + "';Password='" + "" + "'");
return mysqlConn;
}
}
public class SQLHelper : DBHelper
{
/// <summary>
/// 查询操作
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataTable Selectinfo(string sql)
{
MySqlConnection mysqlconn = null;
MySqlDataAdapter sda = null;
DataTable dt = null;
try
{
mysqlconn = base.GetConn();
sda = new MySqlDataAdapter(sql, mysqlconn);
dt = new DataTable();
sda.Fill(dt);
return dt;
}
catch (Exception)
{
throw;
}
}
/// <summary>
/// 增删改操作
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns>执行后的条数</returns>
public int AddDelUpdate(string sql)
{
MySqlConnection conn = null;
MySqlCommand cmd = null;
try
{
conn = base.GetConn();
conn.Open();
cmd = new MySqlCommand(sql, conn);
int i = cmd.ExecuteNonQuery();
conn.Close();
return i;
}
catch (Exception)
{
throw;
}
}
}
}
}
相关文章推荐
- UNITY贝塞尔曲线Bezier的一个细节
- 【转】unity跨平台文件操作详解
- unity--ugui中文教程翻译1
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(51)-系统升级
- iGraph库中Community Detection方法比较
- 使用Unity制作简单时钟动画
- 【Unity】改变向量的方向而不改变其大小
- Unity给力插件之ShaderForge(二)
- Unity客户端框架笔记二(组件实体开发模式的思考)转
- Unity客户端框架笔记(状态模式和策略模式在游戏中的应用)转
- unity3d 面试题
- Unity3D_NGUI_安卓APK安装包瘦身实践(二)
- Unity3D_NGUI_安卓APK安装包瘦身实践
- Unity3D研究院之Android全自动打包生成apk(六十九)
- Unity+Android交互教程——让手机"动"起来
- 【unity编辑器拓展】使用脚本添加Prefab到场景中
- 非常详细的unity与android之间的通讯操作
- Unity Networking API文档翻译(一):Networking概述
- Unity3D研究院之Android NDK编译C/C++结合Unity实现本地数据共享(二十八)
- unity3D 调用android .so