精华内容
下载资源
问答
  • 初步接触了Socket,现使其与Unity相结合,做成一个简单的客户端之间可以互相发送消息的一个Test。首先,是服务端的代码。创建一个连接池,用于存储客户端的数量。using System;using System.Net;using System.Net....

    初步接触了Socket,现使其与Unity相结合,做成一个简单的客户端之间可以互相发送消息的一个Test。

    首先,是服务端的代码。

    创建一个连接池,用于存储客户端的数量。

    using System;

    using System.Net;

    using System.Net.Sockets;

    using System.Collections;

    using System.Collections.Generic;

    namespace Server

    {

    ///

    /// 对象池

    ///

    public class Conn

    {

    //常量,用于表示传输的字节最大数量,最大接收的字节数

    public const int buffer_Size = 1024;

    //Socket

    public Socket socket;

    //是否连接

    public bool isUse = false;

    //传输数组,用来存储接受到的数据

    public byte[] readBuff = new byte[buffer_Size];

    public int buffCount = 0;

    ///

    /// 构造函数

    ///

    public Conn()

    {

    readBuff = new byte[buffer_Size];

    }

    ///

    /// 初始化

    ///

    ///

    public void Init(Socket socket)

    {

    this.socket = socket;

    isUse = true;

    buffCount = 0;

    }

    ///

    /// 缓冲区剩下的字节数

    ///

    ///

    public int BuffRemain()

    {

    return buffer_Size - buffCount;

    }

    ///

    /// 获得客户端地址

    ///

    ///

    public string GetAdress()

    {

    if (!isUse)

    {

    return "无法获得地址";

    }

    else

    {

    return socket.RemoteEndPoint.ToString();

    }

    }

    ///

    /// 关闭连接

    ///

    public void Close()

    {

    if (!isUse)

    {

    return;

    }

    else

    {

    Console.WriteLine("断开连接" + GetAdress());

    socket.Close();

    isUse = false;

    }

    }

    }

    }

    对象池创建完成后,需要在创建一个连接类,用来维护客户端的连接。

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Net;

    using System.Net.Sockets;

    namespace Server

    {

    class Serv

    {

    //监听套接字

    public Socket listenfd;

    //客户端链接

    public Conn[] conns;

    //最大的连接数量

    public int maxConn = 50;

    //获取链接池索引,返回负数表示获取失败

    public int NewIndex()

    {

    if(conns==null)

    {

    return -1;

    }

    for (int i = 0; i < conns.Length;i++ )

    {

    if(conns[i]==null)

    {

    conns[i] = new Conn();

    return i;

    }else if(conns[i].isUse==false)

    {

    return i;

    }

    }

    return -1;

    }

    //开启一个服务器

    public void Start(string host,int port)

    {

    conns = new Conn[maxConn];

    for (int i = 0; i < maxConn;i++ )

    {

    conns[i] = new Conn();

    }

    listenfd = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

    IPAddress ipAdr = IPAddress.Parse(host);

    IPEndPoint ipEp = new IPEndPoint(ipAdr, port);

    //与一个本地终结点相关联

    listenfd.Bind(ipEp);

    //监听

    listenfd.Listen(maxConn);

    listenfd.BeginAccept(AcceptCb, listenfd);

    }

    //AcceptCb回调

    public void AcceptCb(IAsyncResult ar)

    {

    try

    {

    Socket sSocket = ar.AsyncState as Socket;

    Socket socket = sSocket.EndAccept(ar);

    int index = NewIndex();

    if(index<0)

    {

    socket.Close();

    Console.WriteLine("连接已满");

    }

    else

    {

    Conn conn = conns[index];

    conn.Init(socket);

    string adr = conn.GetAdress();

    Console.WriteLine("客户端连接[" + adr + "Conn池ID: " + index);

    conn.socket.BeginReceive(conn.readBuff, conn.buffCount, conn.BuffRemain(), SocketFlags.None, ReceiveCb, conn);

    }

    listenfd.BeginAccept(AcceptCb, listenfd);

    }catch(SocketException ex)

    {

    Console.WriteLine(ex);

    }

    }

    //ReceiveCb回调

    public void ReceiveCb(IAsyncResult ar)

    {

    Conn conn = (Conn)ar.AsyncState;

    try

    {

    int count = conn.socket.EndReceive(ar);

    if(count<=0)

    {

    Console.WriteLine("收到:" + conn.GetAdress() + "断开连接");

    conn.Close();

    return;

    }

    string str = Encoding.UTF8.GetString(conn.readBuff,0,count);

    Console.WriteLine("接收到[" + conn.GetAdress() + "]数据" + str);

    byte[] bytes = Encoding.UTF8.GetBytes(str);

    for (int i = 0; i < conns.Length;i++ )

    {

    if(conns[i]==null)

    continue;

    if (!conns[i].isUse)

    continue;

    Console.WriteLine("将消息传送给" + conns[i].GetAdress());

    conns[i].socket.Send(bytes);

    }

    conn.socket.BeginReceive(conn.readBuff, conn.buffCount, conn.BuffRemain(), SocketFlags.None,ReceiveCb, conn);

    }

    catch(SocketException ex)

    {

    Console.WriteLine(ex);

    Console.WriteLine("收到:" + conn.GetAdress() + "断开连接");

    conn.Close();

    }

    }

    }

    }

    最后是创建一个Unity的工程,搭建一个简单的页面,通过下面的代码你可以了解需要哪些组件

    using UnityEngine;

    using System.Collections;

    using System.Net;

    using System.Net.Sockets;

    using UnityEngine.UI;

    using System.Collections.Generic;

    using System;

    public class net : MonoBehaviour

    {

    //ip和端口

    public InputField hostInput;

    public InputField portInput;

    //显示客户端接受的消息

    public Text recvText;

    public string recvStr;

    //显示客户端IP和端口

    public Text clientText;

    //聊天输入框

    public InputField TextInput;

    Socket socket;

    const int buffer_Size = 1024;

    public byte[] readBuff = new byte[buffer_Size];

    void FixedUpdate()

    {

    recvText.text = recvStr;

    }

    //连接服务器(需要一个Button触发)

    public void Connetion()

    {

    recvText.text = "";

    socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

    string host = hostInput.text;

    int port = int.Parse(portInput.text);

    socket.Connect(host, port);

    clientText.text = "客户端地址:"+socket.LocalEndPoint.ToString();

    socket.BeginReceive(readBuff, 0, buffer_Size, SocketFlags.None, ReceiveCb,socket);

    }

    ///

    /// 接受数据

    ///

    ///

    public void ReceiveCb(IAsyncResult ar)

    {

    try

    {

    int count = socket.EndReceive(ar);

    string str = System.Text.Encoding.UTF8.GetString(readBuff, 0, count);

    if (recvStr.Length > 300) recvStr = "";

    recvStr += socket.LocalEndPoint.ToString()+str + "\n";

    Debug.Log("12346");

    socket.BeginReceive(readBuff, 0, buffer_Size, SocketFlags.None, ReceiveCb, socket);

    }catch(SocketException ex)

    {

    Debug.Log(ex);

    }

    }

    ///

    /// 发送数据,(需要一个Button触发)

    ///

    public void Send()

    {

    string str = TextInput.text;

    byte[] tex = System.Text.Encoding.UTF8.GetBytes(str);

    try

    {

    socket.Send(tex);

    }

    catch(SocketException ex)

    {

    Debug.Log(ex);

    }

    }

    }

    以上内容出自罗培羽老师《unity3d网络游戏实战》一书。

    展开全文
  • Socket For Unity3d

    2018-06-25 16:06:45
    https://blog.csdn.net/nicepainkiller/article/details/80757719 https://blog.csdn.net/nicepainkiller/article/details/80757719 使用说明,Unity3D 中使用 Socket.IO
  • Unity3D客户端:namespaceLSocket.Net{/****@authorfeng侠,qq:313785443*@date2010-12-23**///描述:封装c#socket数据传输协议usingUnityEngine;usingSystem;usingSystem.Net.Sockets;usingSystem.Net;usingSystem.C...

    Unity3D客户端:

    namespace LSocket.Net {

    /**

    *

    * @author feng侠,qq:313785443

    * @date 2010-12-23

    *

    */

    // 描   述:封装c# socket数据传输协议

    using UnityEngine;

    using System;

    using System.Net.Sockets;

    using System.Net;

    using System.Collections;

    using System.Text;

    using LSocket.Type;

    using LSocket.cmd;

    public class UnitySocket {

    public static Socket mSocket = null;

    public UnitySocket() {

    }

    public static void SocketConnection(string LocalIP, int LocalPort) {

    mSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

    try {

    IPAddress ip = IPAddress.Parse(LocalIP);

    IPEndPoint ipe = new IPEndPoint(ip, LocalPort);

    mSocket.Connect(ipe);

    Send("");//the second connect.if it's not equals policy head,it will come in the main connect!

    Send(CommandID.LOGIN);

    Send("feng");

    string s=ReceiveString(100);//从服务器端接受返回信息

    MonoBehaviour.print(s.Length);

    MonoBehaviour.print(s);

    } catch (Exception e) {

    //ErrLog.RecordErr(e, ModuleName, "AsySocket", "");

    }

    }

    public static void Send(short data) {

    byte[] longth=TypeConvert.getBytes(data,false);

    mSocket.Send(longth);

    }

    public static void Send(long data) {

    byte[] longth=TypeConvert.getBytes(data,false);

    mSocket.Send(longth);

    }

    public static void Send(int data) {

    byte[] longth=TypeConvert.getBytes(data,false);

    mSocket.Send(longth);

    }

    public static void Send(string data) {

    byte[] longth=Encoding.UTF8.GetBytes(data);

    mSocket.Send(longth);

    }

    public static short ReceiveShort() {

    byte[] recvBytes = new byte[2];

    mSocket.Receive(recvBytes,2,0);//从服务器端接受返回信息

    short data=TypeConvert.getShort(recvBytes,true);

    return data;

    }

    public static int ReceiveInt() {

    byte[] recvBytes = new byte[4];

    mSocket.Receive(recvBytes,4,0);//从服务器端接受返回信息

    int data=TypeConvert.getInt(recvBytes,true);

    return data;

    }

    public static long ReceiveLong() {

    byte[] recvBytes = new byte[8];

    mSocket.Receive(recvBytes,8,0);//从服务器端接受返回信息

    long data=TypeConvert.getLong(recvBytes,true);

    return data;

    }

    public static string ReceiveString(int length) {

    byte[] recvBytes = new byte[length];

    mSocket.Receive(recvBytes,length,0);//从服务器端接受返回信息

    string data=Encoding.UTF8.GetString(recvBytes);

    return data;

    }

    }

    }

    namespace LSocket.cmd {

    public class CommandID {

    /** 错误消息命令 **/

    public static int ERROR = 1000;

    /** 登陆消息命令 **/

    public static  int LOGIN = 1001;

    /** 退出消息命令 **/

    public static  int EXIT = 1002;

    /** 获取pdb文件消息命令 **/

    public static  int GETPDB= 1003;

    public static  int GETPDB_AGAIN = 1006;

    /** 其他用户进入消息命令 **/

    public static  int OTHER_USERS = 1004;

    public static  int ACCEPT=1005;

    public CommandID() {

    }

    }

    }

    namespace LSocket.Type {

    using UnityEngine;

    using System.Collections;

    public class TypeConvert {

    public TypeConvert() {

    }

    public  static byte[] getBytes(short s, bool asc) {

    byte[] buf = new byte[2];

    if (asc) {

    for (int i = buf.Length - 1; i >= 0; i--) {

    buf[i] = (byte) (s & 0x00ff);

    s >>= 8;

    }

    } else {

    for (int i = 0; i 

    buf[i] = (byte) (s & 0x00ff);

    s >>= 8;

    }

    }

    return buf;

    }

    public static byte[] getBytes(int s, bool asc) {

    byte[] buf = new byte[4];

    if (asc)

    for (int i = buf.Length - 1; i >= 0; i--) {

    buf[i] = (byte) (s & 0x000000ff);

    s >>= 8;

    }

    else

    for (int i = 0; i 

    buf[i] = (byte) (s & 0x000000ff);

    s >>= 8;

    }

    return buf;

    }

    public static byte[] getBytes(long s, bool asc) {

    byte[] buf = new byte[8];

    if (asc)

    for (int i = buf.Length - 1; i >= 0; i--) {

    buf[i] = (byte) (s & 0x00000000000000ff);

    s >>= 8;

    }

    else

    for (int i = 0; i 

    buf[i] = (byte) (s & 0x00000000000000ff);

    s >>= 8;

    }

    return buf;

    }

    public  static short getShort(byte[] buf, bool asc) {

    if (buf == null) {

    //throw new IllegalArgumentException("byte array is null!");

    }

    if (buf.Length > 2) {

    //throw new IllegalArgumentException("byte array size > 2 !");

    }

    short r = 0;

    if (asc)

    for (int i = buf.Length - 1; i >= 0; i--) {

    r <<= 8;

    r |= (short)(buf[i] & 0x00ff);

    }

    else

    for (int i = 0; i 

    r <<= 8;

    r |= (short)(buf[i] & 0x00ff);

    }

    return r;

    }

    public  static int getInt(byte[] buf, bool asc) {

    if (buf == null) {

    // throw new IllegalArgumentException("byte array is null!");

    }

    if (buf.Length > 4) {

    //throw new IllegalArgumentException("byte array size > 4 !");

    }

    int r = 0;

    if (asc)

    for (int i = buf.Length - 1; i >= 0; i--) {

    r <<= 8;

    r |= (buf[i] & 0x000000ff);

    }

    else

    for (int i = 0; i 

    r <<= 8;

    r |= (buf[i] & 0x000000ff);

    }

    return r;

    }

    public static long getLong(byte[] buf, bool asc) {

    if (buf == null) {

    //throw new IllegalArgumentException("byte array is null!");

    }

    if (buf.Length > 8) {

    //throw new IllegalArgumentException("byte array size > 8 !");

    }

    long r = 0;

    if (asc)

    for (int i = buf.Length - 1; i >= 0; i--) {

    r <<= 8;

    r |= (buf[i] & 0x00000000000000ff);

    }

    else

    for (int i = 0; i 

    r <<= 8;

    r |= (buf[i] & 0x00000000000000ff);

    }

    return r;

    }

    }

    }

    展开全文
  • //点击开始监听时 在服务端创建一个负责监听IP和端口号的Socket Socket socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ip = IPAddress.Parse(_ip); //...

    非常清晰的demo

    服务端

    using System;

    using System.Collections;

    using System.Collections.Generic;

    using System.Net;

    using System.Net.Sockets;

    using System.Text;

    using System.Threading;

    using UnityEngine;

    public class SocketServer : MonoBehaviour {

    // Use this for initialization

    public void StartServer () {

    bt_connnect_Click();

    }

    // Update is called once per frame

    void Update () {

    }

    private void bt_connnect_Click()

    {

    try

    {

    int _port = 6000;

    string _ip = "127.0.0.1";

    //点击开始监听时 在服务端创建一个负责监听IP和端口号的Socket

    Socket socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

    IPAddress ip = IPAddress.Parse(_ip);

    //创建对象端口

    IPEndPoint point = new IPEndPoint(ip, _port);

    socketWatch.Bind(point);//绑定端口号

    Debug.Log("监听成功!");

    socketWatch.Listen(10);//设置监听,最大同时连接10台

    //创建监听线程

    Thread thread = new Thread(Listen);

    thread.IsBackground = true;

    thread.Start(socketWatch);

    }

    catch { }

    }

    ///

    /// 等待客户端的连接 并且创建与之通信的Socket

    ///

    Socket socketSend;

    void Listen(object o)

    {

    try

    {

    Socket socketWatch = o as Socket;

    while (true)

    {

    socketSend = socketWatch.Accept();//等待接收客户端连接

    Debug.Log(socketSend.RemoteEndPoint.ToString() + ":" + "连接成功!");

    //开启一个新线程,执行接收消息方法

    Thread r_thread = new Thread(Received);

    r_thread.IsBackground = true;

    r_thread.Start(socketSend);

    }

    }

    catch { }

    }

    ///

    /// 服务器端不停的接收客户端发来的消息

    ///

    ///

    void Received(object o)

    {

    try

    {

    Socket socketSend = o as Socket;

    while (true)

    {

    //客户端连接服务器成功后,服务器接收客户端发送的消息

    byte[] buffer = new byte[1024 * 1024 * 3];

    //实际接收到的有效字节数

    int len = socketSend.Receive(buffer);

    if (len == 0)

    {

    break;

    }

    string str = Encoding.UTF8.GetString(buffer, 0, len);

    Debug.Log("服务器打印:" + socketSend.RemoteEndPoint + ":" + str);

    Send("我收到了");

    }

    }

    catch { }

    }

    ///

    /// 服务器向客户端发送消息

    ///

    ///

    void Send(string str)

    {

    byte[] buffer = Encoding.UTF8.GetBytes(str);

    socketSend.Send(buffer);

    }

    }

    客户端

    usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Text;usingSystem.Threading;usingUnityEngine;usingUnityEngine.UI;public classSocketClient : MonoBehaviour {publicInputField input;//Use this for initialization

    public voidStartClient () {

    bt_connect_Click();

    }//Update is called once per frame

    voidUpdate () {

    }public voidSendMsg()

    {

    bt_send_Click(input.text);

    }

    Socket socketSend;private voidbt_connect_Click()

    {try{int _port = 6000;string _ip = "127.0.0.1";//创建客户端Socket,获得远程ip和端口号

    socketSend = newSocket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

    IPAddress ip=IPAddress.Parse(_ip);

    IPEndPoint point= newIPEndPoint(ip, _port);

    socketSend.Connect(point);

    Debug.Log("连接成功!");//开启新的线程,不停的接收服务器发来的消息

    Thread c_thread = newThread(Received);

    c_thread.IsBackground= true;

    c_thread.Start();

    }catch(Exception)

    {

    Debug.Log("IP或者端口号错误...");

    }

    }///

    ///接收服务端返回的消息///

    voidReceived()

    {while (true)

    {try{byte[] buffer = new byte[1024 * 1024 * 3];//实际接收到的有效字节数

    int len =socketSend.Receive(buffer);if (len == 0)

    {break;

    }string str = Encoding.UTF8.GetString(buffer, 0, len);

    Debug.Log("客户端打印:" + socketSend.RemoteEndPoint + ":" +str);

    }catch{ }

    }

    }///

    ///向服务器发送消息///

    ///

    ///

    private void bt_send_Click(stringstr)

    {try{string msg =str;byte[] buffer = new byte[1024 * 1024 * 3];

    buffer=Encoding.UTF8.GetBytes(msg);

    socketSend.Send(buffer);

    }catch{ }

    }

    }

    展开全文
  • Unity Socket 通信

    2019-04-18 16:56:14
    Unity Socket 通信,包含server 和 客户端,打包成unity包,请导入查看demo场景即可直接使用 一对一 一对多
  • unity Socket

    2018-08-19 23:31:57
    将服务器与客户端用socket连接后,先将数据转换成字节数组,再将数据进行封包,发送给服务器,服务器接收到的是封装后的字节数组,将字节数组读到流中,按照封包协议读取数据,完成数据的收发操作。...

    将服务器与客户端用socket连接后,先将数据转换成字节数组,再将数据进行封包,发送给服务器,服务器接收到的是封装后的字节数组,将字节数组读到流中,按照封包协议读取数据,完成数据的收发操作。

    展开全文
  • Unity Socket

    2015-12-10 10:40:49
    Socket TcpSever = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //创建一个Socket对象,如果用UDP协议,则要用SocketTyype.Dgram类型的套接字 TcpSever.Bind(ipe); //绑定...
  • unity Socket通讯

    2018-01-24 11:23:33
    里面有一个客户端类 一个服务器类 有个ip配置类 设置好打开两个unity就可以创建连接
  • C#规范和SocketUnity3d的连接Demo
  • 主要给大家介绍了关于C#中SocketUnity相结合的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
  • unity自带的socket

    2018-04-19 10:55:44
    Socket.IO for Unity还有一个跟web交互的socket Simple web Socket for Unity Webgl
  • Socket C#编写服务器,unity创建客户端,可以多个客户端交互。
  • //获取监听到的socket Socket Soc = TcpList.AcceptSocket(); Console.WriteLine("Received Connection:" + Soc.RemoteEndPoint); //接收到的信息 //Unity3D教程手册:www.unitymanual.com byte[] b = ...
  • unity socket应用实例

    2016-08-20 15:24:38
    unity socket应用实例,经典应用套接字做网络游戏开发
  • 出售客户端socket通信插件¥20,自己搭建的成本远高于¥20....1.客户端socket通信插件!经过测试兼容window/linux/mac/ios(兼容jit编译)/Android/windows phone系统平台....3.符合unity3d程序员习惯,upd
  • unity socket组件库

    2018-08-21 14:33:40
    封装unity socket模块,以兼容模式支持Hololens平台。封装了一个轻量通信协议;以8个字节为头部(整型):无符号4字节长度(包括头部8字节)、消息类型无符号2字节、预留无符号2字节。 使用异步方法兼容hololens的...
  • SocketUnity中的使用

    2018-06-07 18:57:16
    Server端的创建(VS中建立控制台) ...Socket tcpServer=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); //三个参数,寻址方案,套接字类型,协议类型 2.绑定ip和端口 //IPAd...
  • Unity Socket TCP

    千次阅读 2015-07-01 13:02:25
    public static Socket hSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); /// ///修改配置信息 /// ///ip地址 端口 类型:TCP/UDP public static void ...
  • Unity Socket UDP

    千次阅读 2015-07-01 13:04:18
    socket=new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp); socket.Bind(IPE); Thread threadReceive = new Thread(new ThreadStart(ReceiveMessage)); threadReceive.Start(); } ...
  • unity socket编程

    2016-11-01 10:40:15
    一、第一步开始连接 ...socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 2、创建ip和端口号 IPAddress address = IPAddress.Parse (“192.168.1.1”); ...
  • Socket中设定了接收者的端口号和ip,如果是SOCKET服务器与网络调试助手之间调传送数据就可以正常发送,但是如果换做SocketUnity中的对象传输,即使Unity中的对象的端口号和ip设定与Socket中的接收者的端口号和ip...
  • unity socket编程过程

    千次阅读 2016-11-01 16:02:38
    一、第一步开始连接1、创建socket private Socket socket; socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 2、创建ip和端口号 IPAddress address = IPAddress.Parse...
  • Unity ipv6 Socket

    2017-06-21 23:17:14
    Unity使用Scoket适配IPv6
  • Unity3d socket和java socket通信

    热门讨论 2011-10-03 19:02:21
    Unity3d socket和java socket通信,这个文档较为详细的介绍了u3d socket方面的开发,给我很大帮助,和大家分享一下
  • 在刚刚开发Unity项目的过程中,需要用到即时通信功能来完成服务器与客户端自定义的数据结构封装。 现在将部分主要功能的实现代码抽取出来实现了可以异步Socket请求的技术Demo。 客户端脚本ClientScript /// <...
  • Unity SocketClient

    2017-09-21 15:37:25
    SocketClient连接 接收数据  ///  /// 通知网络状态发生变化  ///  public void OnInternetReachabilityChanged()  {  // 检查网络状态  if (_gameNetWorkReachability != Application.internetRe
  • UnitySocket的使用

    2021-02-19 11:38:37
    UnitySocket的使用Socket的使用客户端逻辑脚步TcpSocket.cs测试脚本服务器端数据控制客户端的Socke的脚本ClientSocket.cs服务器Socket的脚本ServerSocket.cs测试脚本 Socket的使用 在unity中使用Socket连接服务器...
  • Socket.IO For Unity3D

    2018-06-27 11:12:49
    Unity3d For Socket.IO 带 Authorization Unity3d For Socket.IO 带 Authorization 使用方式 https://blog.csdn.net/nicepainkiller/article/details/80805472 使用方式 ...
  • unity socket客户端

    2019-04-11 19:58:31
    Socket server_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // 2. IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, 2222); // 3. server_socket.Bind...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,381
精华内容 552
热门标签
关键字:

socketunity