Unity3D——制作聊天室

本文介绍了一位新手使用Unity3D和socket编程创建多人在线聊天室的过程,作为学习笔记和参考资料。通过观看演示视频,了解聊天室功能,并提供了使用Visual Studio 2017和Unity 2017、NGUI插件的工具列表,以及源码和应用程序的下载链接。
摘要由CSDN通过智能技术生成

本小白刚接触到socket编程这一块,模仿着写了一个多人在线聊天室,也算是对这个模块有了初步认识吧,写这篇博客一来是在日后能够再温习一下,二来是想给更多小白一个参考学习的详细案例,三来也是对自己学习过程的一个笔记总结吧!好了,话不多说,直接上成果!

演示视频

unity制作聊天室成果展示视频

工具

  1. Visual Studio 2017
  2. Unity 2017
  3. NGUI插件

1.服务器端

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;

namespace TCP_Unity_Server
{
   
    class Program
    {
   
        //用于存储接收到的每一个 与客户端交互对象
        static List<Client> clientList = new List<Client>();

        //将一个客户端发出到服务器的消息,发送给所有的客户端(包括他自己)
        public static void BroadcastMessage(string message)//message就是服务器接收到的消息
        {
   
            var notConnectedList = new List<Client>();//存放所有断开连接的
            foreach (var client in clientList)//遍历之前所有连接成功的 与客户端交互对象
            {
   
                //判断 与客户端交互对象 是否与服务断开连接
                if (client.Connected)//处于连接状态
                {
   
                    client.SendMessage(message);//与客户端交互对象 向该客户端发送该消息
                }
                else//处于断开状态
                {
   
                    notConnectedList.Add(client);//断开了,就不需要向其发送消息了
                }
            }
            foreach (var temp in notConnectedList)//将断开的 与客户端交互对象删掉
            {
   
                clientList.Remove(temp);
            }
        }
        static void Main(string[] args)
        {
   
            //1.创建sicket
            Socket tcpServer = new Socket(AddressFamily.InterNetwork,
  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值