- 2
- 0
- 约 9页
- 2017-05-08 发布于四川
- 举报
unity3d游戏开发之实现基于Socket通讯公共聊天室
由于这段时间比较忙,所以也很久没发布过新的教程,这几天刚好要为一个项目写服务端程序,所以顺便也在Unity3d里面实现了一个简单的客户端,多个客户端一同使用就是一个简单的公共聊天室了。服务端为一个控制台程序使用C#实现,当然,在Unity3d中也相应地使用了C#语言实现客户端,服务端和客户端能实现消息的互通,当服务端接收到某客户端发送过来的消息时将会对客户端列表成员进行广播,这是公共聊天室的最基本的形式。Socket通讯是网络游戏最为基础的知识,因此这个实例能向有志投身于网游行业的初学者提供指导意义。?这篇文章来自狗刨学习网Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
namespace TestServer
{
? ? class Program
? ? {
? ?? ???// 设置连接端口
? ?? ???const int portNo = 500;
? ?? ???static void Main(string[] args)
? ?? ???{
? ?? ?? ?? ?// 初始化服务器IP
? ?? ?? ?? ?System.Net.IPAddress localAdd = System.Net.IPAddress.Parse();
? ?? ?? ?? ?// 创建TCP侦听器
? ?? ?? ?? ?TcpListener listener = new TcpListener(localAdd, portNo);
? ?? ?? ?? ?listener.Start();
? ?? ?? ?? ?// 显示服务器启动信息
? ?? ?? ?? ?Console.WriteLine(Server is starting...\n);
? ?? ?? ?? ?// 循环接受客户端的连接请求
? ?? ?? ?? ?while (true)
? ?? ?? ?? ?{
? ?? ?? ?? ?? ? ChatClient user = new ChatClient(listener.AcceptTcpClient());
? ?? ?? ?? ?? ? // 显示连接客户端的IP与端口
? ?? ?? ?? ?? ? Console.WriteLine(user._clientIP + is joined...\n);
? ?? ?? ?? ?}
? ?? ???}
? ? }
}
复制代码
ChatClient.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Net.Sockets;
namespace TestServer
{
? ? class ChatClient
? ? {
? ?? ???public static Hashtable ALLClients = new Hashtable(); // 客户列表
? ?? ???private TcpClient _client;??// 客户端实体
? ?? ???public??string _clientIP;? ?// 客户端IP
? ?? ???private string _clientNick; // 客户端昵称
? ?? ???private byte[] data;? ?? ???// 消息数据
? ?? ???private bool ReceiveNick = true;
? ?? ???public ChatClient(TcpClient client)
? ?? ???{
? ?? ?? ?? ?this._client = client;
? ?? ?? ?? ?this._clientIP = client.Client.RemoteEndPoint.ToString();
? ?? ?? ?? ?// 把当前客户端实例添加到客户列表当中
? ?? ?? ?? ?ALLClients.Add(this._clientIP, this);
? ?? ?? ?? ?data = new byte[this._client.ReceiveBufferSize];
? ?? ?? ?? ?// 从服务端获取消息
? ?? ?? ?? ?client.Get
您可能关注的文档
最近下载
- 现代工程图学习题集(第5版)杨裕根 课后习题答案解析.pdf
- 狂犬病病毒攻毒犬唾液排毒与病毒在体内的分布研究.pdf VIP
- 桩基施工方案桩基桩基施工方案施工方案桩基础施工方案桩基施工.docx
- 屋面防水工程工程施工组织设计方案.docx VIP
- 2025年沈阳市直机关遴选公务员笔试真题汇编带答案解析.docx VIP
- 2026年教师招聘考试(学科专业知识-语文)模拟考试题及答案.doc VIP
- 2025年高考物理二轮复习经典习题讲义(超强).doc VIP
- 2025年高考物理二轮复习:11个模块知识讲义.pdf VIP
- 2025青岛职业技术学院单招考试文化素质数学试题及参考答案详解(能力提升).docx VIP
- 青岛职高单招题库及答案.doc
原创力文档

文档评论(0)