查看: 789|回复: 0
打印 上一主题 下一主题

[其他] Unity手把手网络篇之实现简单的登陆功能

[复制链接]

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53456
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2019-9-30 22:52:42 |只看该作者 |倒序浏览

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

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墙外的世界

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-3 10:11 , Processed in 0.084906 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部