最近开始自学socket编程,从网上找不到好的教程,索性搬了个梯只,
刚开始学习,水平有限,见谅
窗口布局
Asset
这里我们既当Server也当Client,所以把两个代码都加载上,放到Server这个空GameObject上
这里聊天信息弹出的思路是在chatWindows上加上
然后接受到聊天信息之后将data放到asset下的prefab里实例化到chatWindows的子物体上,有一个自动排版在里面。
然后就是代码部分了
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Net.Sockets;
using System.Net;
using System.Text;
using System;
using System.IO;
public class Server : MonoBehaviour {
private List<ServerClient> clients; //所有的客户端的集合
private List<ServerClient> disconnectList; //掉线的客户端的集合
public int port = 6321; //端口
private TcpListener server; //定义一个端口监听对象
private bool serverStarted; //判断服务器是否开启的判断值
private void Start()
{
clients = new List<ServerClient>();
disconnectList = new List<ServerClient>();
try
{
server = new TcpListener(IPAddress.Any, port);
server.Start(); //应该是一个类似线程的东西,个人感觉TcpListener本身就包含了一个线程
StartListening(); //开始监听
serverStarted = true;
Debug.Log("Serve