unity聊天室
603-unity聊天室-创建tcp服务器端
VS编写服务端
604-unity聊天室-创建unity客户端,开发建立连接的代码
导入NGUI插件:用于制作界面
void ConnectToServer()
{
clientSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);
//跟服务器端建立连接
clientSocket.Connect( new IPEndPoint(IPAddress.Parse(ipaddress),port) );
//创建一个新的线程 用来接收消息
t = new Thread(ReceiveMessage);
t.Start();
}
605-unity聊天室-客户端发送消息到服务器端
将输入框与点击按钮与脚本绑定
void SendMessage(string message)
{
byte[] data = Encoding.UTF8.GetBytes(message);
clientSocket.Send(data);
}
public void OnSendButtonClick()
{
string value = textInput.value;
SendMessage(value);
textInput.value = "";
}
客户端:Unity启动
服务器端:VS启动
注意:修改IP地址需要在Unity中修改
606-unity聊天室-在服务器端广播消息到客户端
public static void BroadcastMessage(string 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);
}
}