纳金网

标题: Unity手把手网络篇之实现简单的登陆功能 [打印本页]

作者: 烟雨    时间: 2019-9-30 22:52
标题: Unity手把手网络篇之实现简单的登陆功能

由于最近工作比较忙,内容更新比较慢,但是一有时间克森都会很认真的给大伙们弄视频的,克森这回一定会坚持下去的,把这个系列弄完。

PS:只是为了凑字数,莫慌莫慌。好吧,还是没够字数。

  1. using System;
  2. using System.Net;
  3. using System.Net.Sockets;
  4. using System.Text;
  5. using UnityEngine;
  6. using UnityEngine.UI;

  7. public class HelloWorld : MonoBehaviour
  8. {
  9.     public int port;
  10.     public string host;
  11.     public Text username;
  12.     public Text password;

  13.     void Start ()
  14.     {

  15.     }

  16.     public void OnLogin()
  17.     {
  18.         try
  19.         {
  20.             // 1. 创建 Socket(套接字)
  21.             Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

  22.             // 2. 建立连接
  23.             IPAddress ipAddress = IPAddress.Parse(host);
  24.             sock.Connect(ipAddress, port);
  25.             if (sock.Connected)
  26.             {
  27.                 // 3. 向服务器发送消息
  28.                 // "username,password"
  29.                 string msg = username.text + "," + password.text + ",";
  30.                 int sendLen = sock.Send(Encoding.ASCII.GetBytes(msg));
  31.                 if (sendLen > 0)
  32.                 {
  33.                     Debug.Log("send succesee!!!");
  34.                 }


  35.                 // 4. 接收服务器发来的消息
  36.                 byte[] recvBuff = new byte[1024];
  37.                 int recvLen = sock.Receive(recvBuff, recvBuff.Length, SocketFlags.None);
  38.                 if (recvLen > 0)
  39.                 {
  40.                     string recvMsg = Encoding.ASCII.GetString(recvBuff, 0, "Success".Length);
  41.                     if (recvMsg.Equals("Success"))
  42.                     {
  43.                         Debug.Log("Login Success!!!");
  44.                     }
  45.                 }

  46.                 // 5. 关闭 Socket
  47.                 sock.Close();
  48.             }
  49.             else
  50.             {
  51.                 Debug.Log("connect server fail...");
  52.             }
  53.         }
  54.         catch (Exception e)
  55.         {
  56.             Debug.Log(e.ToString());
  57.         }
  58.     }
  59. }
复制代码

原文作者: Unity墙外的世界






欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5