- 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"));
- }
- }
- }
- 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;
- }
- }
- }
- }
- }