資源簡介
NET的Socket KCP Protobuf的Unity局域網聯機測試范例, 大量功能待補充
代碼片段和文件信息
using?System;
using?System.Net;
using?System.Net.Sockets;
using?UnityEngine;
using?System.Timers;
namespace?HNet
{
????internal?class?NetController?:?Singleton
????{
????????//刷新間隔
????????public?readonly?int?Interval?=?10;
????????public?ServerClass?Server;
????????public?ClientClass?Client;
????????private?Timer?_timer;
????????//計算時間戳
????????private?static?readonly?DateTime?UtcTime?=?new?DateTime(1970?1?1);
????????public?bool?StartServer(int?port)
????????{
????????????if?(Server?==?null)
????????????{
????????????????Server?=?new?ServerClass();
????????????????if?(Server.Start(port))
????????????????{
????????????????????InitTimer();
????????????????????return?true;
????????????????}
????????????????else
????????????????{
????????????????????Server.Close();
????????????????????return?false;
????????????????}
????????????}
????????????return?false;
????????}
????????public?void?CloseServer()
????????{
????????????if?(Server?!=?null)
????????????{
????????????????Server.Close();
????????????????Server?=?null;
????????????}
????????}
????????public?bool?StartClient(string?host?int?port)
????????{
????????????if?(Client?==?null)
????????????{
????????????????Client?=?new?ClientClass();
????????????????if?(Client.TcpConnetion(host?port))
????????????????{
????????????????????InitTimer();
????????????????????InitClientCoroutinue();
????????????????????//判斷是否是本地IP
????????????????????string?hostName?=?Dns.GetHostName();???//獲取本機名
????????????????????IPHostEntry?localhost?=?Dns.GetHostEntry(hostName);????//方法已過期,可以獲取IPv4的地址
????????????????????for?(int?i?=?localhost.AddressList.Length?-?1;?i?>=?0;?i--)
????????????????????{
????????????????????????if?(localhost.AddressList[i].ToString().Contains(“.“))
????????????????????????{
????????????????????????????if?(localhost.AddressList[i].ToString()?==?host)
????????????????????????????{
????????????????????????????????//本地數據互聯
????????????????????????????????if?(Server?!=?null?&&?Client?!=?null)
????????????????????????????????{
????????????????????????????????????Server.SetLocalClient((int)Client.Conv?NetCoroutinue.Instance.LocalHostDistribute);
????????????????????????????????????NetCoroutinue.Instance.SetLocalHost(Server.LocalHostDistribute);
????????????????????????????????}
????????????????????????????}
????????????????????????}
????????????????????}
????????????????????return?true;
????????????????}
????????????????else
????????????????{
????????????????????CloseClient();
????????????????????return?false;
????????????????}
????????????}
????????????return?false;
????????}
????????public?void?CloseClient()
????????{
????????????if?(Client?!=?null)
????????????{
????????????????Client.Close();
????????????????CloseClientCoroutinue();
????????????????Client?=?null;
????????????}
????????}
????????private?void?Update()
????????{
????????????uint?current?=?Iclock();
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-07-12?18:18??unity-net\
?????文件?????????191??2017-07-12?18:18??unity-net\Core.me
?????目錄???????????0??2017-07-12?18:18??unity-net\Core\
?????文件?????????191??2017-07-12?18:18??unity-net\Core\Client.me
?????目錄???????????0??2017-07-12?18:18??unity-net\Core\Client\
?????文件????????6311??2017-07-12?18:18??unity-net\Core\Client\ClientClass.cs
?????文件?????????262??2017-07-12?18:18??unity-net\Core\Client\ClientClass.cs.me
?????文件????????1089??2017-07-12?18:18??unity-net\Core\Client\MessageProcessing.cs
?????文件?????????262??2017-07-12?18:18??unity-net\Core\Client\MessageProcessing.cs.me
?????文件?????????289??2017-07-12?18:18??unity-net\Core\Client\NetMonoBehaviour.cs
?????文件?????????262??2017-07-12?18:18??unity-net\Core\Client\NetMonoBehaviour.cs.me
?????文件?????????329??2017-07-12?18:18??unity-net\Core\Client\Netob
?????文件?????????262??2017-07-12?18:18??unity-net\Core\Client\Netob
?????文件????????2524??2017-07-12?18:18??unity-net\Core\Client\RemoteMethod.cs
?????文件?????????262??2017-07-12?18:18??unity-net\Core\Client\RemoteMethod.cs.me
?????文件????????4824??2017-07-12?18:18??unity-net\Core\NetController.cs
?????文件?????????262??2017-07-12?18:18??unity-net\Core\NetController.cs.me
?????文件?????????652??2017-07-12?18:18??unity-net\Core\NetLog.cs
?????文件?????????262??2017-07-12?18:18??unity-net\Core\NetLog.cs.me
?????文件?????????191??2017-07-12?18:18??unity-net\Core\Server.me
?????目錄???????????0??2017-07-12?18:18??unity-net\Core\Server\
?????文件????????2098??2017-07-12?18:18??unity-net\Core\Server\Conn.cs
?????文件?????????262??2017-07-12?18:18??unity-net\Core\Server\Conn.cs.me
?????文件???????11291??2017-07-12?18:18??unity-net\Core\Server\ServerClass.cs
?????文件?????????262??2017-07-12?18:18??unity-net\Core\Server\ServerClass.cs.me
?????文件?????????191??2017-07-12?18:18??unity-net\Core\common.me
?????目錄???????????0??2017-07-12?18:18??unity-net\Core\common\
?????文件????????1082??2017-07-12?18:18??unity-net\Core\common\Message.cs
?????文件?????????262??2017-07-12?18:18??unity-net\Core\common\Message.cs.me
?????文件????????3248??2017-07-12?18:18??unity-net\Core\common\NetCoroutinue.cs
?????文件?????????262??2017-07-12?18:18??unity-net\Core\common\NetCoroutinue.cs.me
............此處省略30個文件信息
評論
共有 條評論