unity简单服务器和客户端

unity简单服务器和客户端

服务器

目的
在服务器收到客户端消息时返回一条消息
服务器搭建流程
1.创建一个服务器实例 Socket
2.创建一个IPAdress并为IPAdress添加地址
3.创建一个IPendPoint,并为IPEndPoint添加IPAdress和端口
4.为Socket绑定IPEndPoint
5.循环监听端口

6.收到消息并反馈

代码
Console.WriteLine("hello world");
Socket listenfd = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress ipAdr = IPAddress.Parse("127.0.0.1");
IPEndPoint ipEp = new IPEndPoint(ipAdr,12345);
listenfd.Bind(ipEp);
listenfd.Listen(0);
Console.WriteLine("服务器已经启动");
while (true) {
    Socket connfd = listenfd.Accept();
    Console.WriteLine("客户端:");
    byte[] readBuff = new byte[1024];
    int count = connfd.Receive(readBuff);
    string str = System.Text.Encoding.UTF8.GetString(readBuff, 0, count);
    Console.WriteLine("服务器收到:" + str);
    byte[] writebuff = System.Text.Encoding.Default.GetBytes("服务器发送:" + str);
    connfd.Send(writebuff);
}

客户端

目的
向服务器发送数据并接受服务器端消息并显示
客户端搭建流程
1.创建一个Socket实例
2.为socket实例绑定服务器的IP地址和端口
3.给服务器发送消息
4.接受服务器的反馈
代码
在unity中UI中创建两个Input Field,一个输入服务器地址,另一个输入服务器端口。创建一个button,点击button启动connection
public void Connection() {
    socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    string iptext = ip.text.ToString();
    int porttext = int.Parse(port.text.ToString());
        socket.Connect(iptext, porttext);
        ip.text = "客户端地址:" + socket.LocalEndPoint.ToString();
        string str = "hello world";
        byte[] by = System.Text.Encoding.UTF8.GetBytes(str);
        socket.Send(by);
        int count = socket.Receive(readbuff);
        string read = System.Text.Encoding.Default.GetString(readbuff, 0, count);
        text.text = read;
        socket.Close();

你可能感兴趣的:(unity,unity,socket,服务器)