博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
unity3d实现Socket
阅读量:4360 次
发布时间:2019-06-07

本文共 2514 字,大约阅读时间需要 8 分钟。

首先创建一个服务器

using UnityEngine;using System.Collections;using System.Net.Sockets;using System.Net;using System.Threading; //引入线程的包public class ServerSocket : MonoBehaviour {    private Socket serverSocket;    void Start()    {        //1使用socket创建一个对象        serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp);        //2创建一个IpEndPoint对象(加入Ip地址)        IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 2333);        serverSocket.Bind(endPoint);        serverSocket.Listen(10); //3设置缓冲区的大小, 进行监听        ThreadStart s = new ThreadStart(X);  //创建一个线程        Thread t = new Thread(s);        t.Start();    }    void Update ()    {    }    private void X()    {        //4使用Accept()方法        Socket clientSocket = serverSocket.Accept();        //5接收使用Receive()方法接受客户端消息        byte[] receiveBuffer = new byte[1024]; //缓存的大小        int count = clientSocket.Receive(receiveBuffer);        string receiveStr = System.Text.Encoding.UTF8.GetString(receiveBuffer); //把byte转化为字符串        print(receiveStr);        //6发送数据        string str = "老王你好";        byte[] sendBuffer = new byte[1024];        sendBuffer = System.Text.Encoding.UTF8.GetBytes(str);        clientSocket.Send(sendBuffer);        clientSocket.Close();    }} 在家建立一个客户端
using UnityEngine;using System.Collections;using System.Net.Sockets;using System.Net;using System.Threading;public class ClientSocket : MonoBehaviour {    private Socket clientSocket;    void Start ()    {    }    void Update ()    {        if(Input.GetKeyDown(KeyCode.P)) //按下P键,连接服务器        {       //1.创建客户端(Socket)            clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);            //    2.    使用 Connect() 方法连接服务器            clientSocket.Connect("127.0.0.1", 2333);            string str = "你好, 我是老王!";            byte[] sendBuffer = System.Text.Encoding.UTF8.GetBytes(str);            //    3.    使用 Send() 方法向客户端发送消息            clientSocket.Send(sendBuffer);            ThreadStart s = new ThreadStart(X);            Thread t = new Thread(s);            t.Start();                   }    }    private void X()    {        byte[] receiveBuffer = new byte[1024];        //    4.    使用 Receive() 方法接收客户端消息        clientSocket.Receive(receiveBuffer);        string receiveStr = System.Text.Encoding.UTF8.GetString(receiveBuffer);        print(receiveStr);        //    5.    使用 Close() 方法断开连接        clientSocket.Close();    }}
 

 

 

 

转载于:https://www.cnblogs.com/ZhiXing-Blogs/p/4970109.html

你可能感兴趣的文章
【转】iOS静态库 【.a 和framework】【超详细】
查看>>
【转】Android中自定义控件的步骤
查看>>
软件测试工作中的沟通问题
查看>>
format 的用法,9*9乘法表
查看>>
mysql--5
查看>>
uva11214 Guarding the Chessboard
查看>>
CentOS6.4下Git服务器Gitosis安装配置
查看>>
007 斐波那契数列
查看>>
《Docker入门实战》笔记(一)
查看>>
hdu 3635 Dragon Balls (并查集)
查看>>
文件操作
查看>>
7.java集合,泛型简单总结,IO流
查看>>
杭电2007 平方和与立方和
查看>>
JS邮箱验证-正则验证
查看>>
关于SQL查询效率,100w数据,查询只要1秒
查看>>
Quartz 2D绘图
查看>>
JS Fetch
查看>>
EJB 笔记
查看>>
【delete】Android自定义控件(四) 自定义ImageView动态设置ImageView的高度
查看>>
HDUOJ------(1230)火星A+B
查看>>