需要源码请点赞关注收藏后评论区留言并且私信~~~
下面利用Unity和C#语言做一个简单的聊天室程序,主要用到的技术就是Socket通信连接,需要一个客户端和一个服务器端,服务器端就使用C#语言的控制台完成
一、C#语言服务器端搭建
下面就开始搭建C#语言服务器端
1:新建一个C#语言控制台程序
2:命名项目为Server 右击项目新建项
3:新建类MessageData.cs ClientController.cs MessageData类存放指定的消息协议,每一条消息都由创建消息对象,设置消息类型和消息内容组成,服务器端和客户端都必须配置这个消息协议
ClientController脚本用来控制所有的客户端程序
部分代码如下
using System;
using System.Net.Sockets;
using System.Threading;
namespace Server
{
class ClientController
{
/// <summary>
/// 用户链接的通道
/// </summary>
private Socket clientSocket;
//接收的线程
Thread receiveThread;
/// <summary>
/// 昵称
/// </summary>
public string nickName;
public ClientController(Socket socket)
{
clientSocket = socket;
//启动接收的方法
//开始收的线程
receiveThread = new Thread(ReceiveFromClient);
//启动收的线程
receiveThread.Start();
}
/// <summary>
/// 客户端连接 监听消息
/// </summary>
void ReceiveFromClient()
{
while (true)
{
byte[] buffer = new byte[512];
int lenght = clientSocket.Receive(buffer, 0, buffer.Length, SocketFlags.None);
string json = System.Text.Encoding.UTF8.GetString(buffer, 0, lenght);
json.TrimEnd();
if (json.Length > 0)
{
Console.WriteLine("服务器接收内容:{0}", json);
MessageData data = LitJson.JsonMapper.ToObject<MessageData>(json);
switch (data.msgType)
{
case MessageType.Login://登陆
nickName = data.msg;
//1、通知客户端登陆成功
MessageData backData = new MessageData();
backData.msgType = MessageType.Login;