网络编程实训报告-TCP聊天程序探究.docxVIP

  • 4
  • 0
  • 约2.89万字
  • 约 36页
  • 2017-10-02 发布于湖北
  • 举报
郑州轻工业学院 实训报告 实训名称:网络聊天程序指导教师:姓名:学号:班级:提交日期: 实训目的 通过开发一款网络聊天程序,熟练掌握多线程编程技术和TCP应用编程技术。 通过本实训,应达到如下目标: 理解委托的概念,掌握线程之间通过委托与控件交互的方法。 理解异常处理的机制,掌握异常处理语句的用法。 理解线程的概念,掌握多线程编程的一般方法。 掌握基于TCP的应用编程技术。 实训题目 使用C#编程语言,开发一款网络聊天程序,玩家通过客户端登陆远程的服务器,登陆成功后可以与其他在线的玩家通信,如下图所示。 功能描述 管理员可以启动停止服务器,服务器可以显示当前的在线人数。 玩家可以登陆服务器;登录后的玩家可以与其它在线的玩家聊天;在线玩家关闭客户端即退出登录。 用户可以注册账号登陆服务器,注册即可实现永久登陆。 需求分析 根据功能描述可知,网络聊天程序的系统结构图如下所示。 玩家 客户端 用户 用户接口 服务器端 用户集合 通信接口 管理员 用户接口 设计说明 服务器界面如下: 客户端的登陆界面如下: 客户端的注册界面如下: 客户端的聊天窗口如下: 源代码 6.1服务器端 User类 在Server_541307110114项目中添加User类。User类的代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net.Sockets; using System.IO; namespace Server_541307110114 { public class User { public string userName; public TcpClient client; public BinaryReader bReader; public BinaryWriter bWriter; public User(TcpClient client) { this.client = client; NetworkStream ns = client.GetStream(); bReader = new BinaryReader(ns); bWriter = new BinaryWriter(ns); } public void Close() { bReader.Close(); bWriter.Close(); client.Close(); } public void Send(string message) { try { bWriter.Write(message); bWriter.Flush(); } catch (Exception ex) { throw ex; } } public string Receive() { try { return bReader.ReadString(); } catch (Exception) { throw; } } } } UserList类 在项目中添加UserList类。UserList类的代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Server_541307110114 {

文档评论(0)

1亿VIP精品文档

相关文档