c sharp 网络聊天程序

c sharp 网络聊天程序

ID:9850208

大小:149.00 KB

页数:13页

时间:2018-05-12

c sharp 网络聊天程序_第1页
c sharp 网络聊天程序_第2页
c sharp 网络聊天程序_第3页
c sharp 网络聊天程序_第4页
c sharp 网络聊天程序_第5页
资源描述:

《c sharp 网络聊天程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、同步TCP网络聊天程序一、课程设计目的与任务(一).目的加深对计算机网络的基本概念和原理,以及网络编程接口Socket概念及编程原理的理解;提高学生网络应用与编程、分析与解决实际问题的能力,为大型网络编程打下坚实基础;通过撰写课程设计报告,锻炼学生的逻辑组织和语言表达能力;培养学生理论运用于实践的综合应用和设计创新能力。通过本次课程设计,使学生进一步理解、领会C#语言和网络编程技术,把所学的知识运用到具体的程序设计当中去,编写一个接近实际的应用程序。本课程设计是一门综合性实验。通过本次课程设计,掌握.net应用程序设计;加深对TCP/IP协议的理解;掌握C/S编程模式;掌握Socket机制、传

2、输控制协议;用户数据报协议;掌握网络抓包的原理;掌握网络编程应用程序分析、设计、编程和调试的整个过程。(二).任务设计完成与网络应用相关题目的网络应用软件;调试运行之后,要求边演示边解释设计的思想、过程及采用的方法;完成课程设计报告。二、课程设计的基本要求熟练掌握网络的基本概念和原理;熟练掌握网络编程接口Socket概念及编程原理;掌握基于TCP/IP的Internet编程技术;掌握各种软件开发工具的使用过程及方法。三、设备及工具硬件:微机120台以上,I3以上处理器,1024M以上内存、Ethernet网卡,交换机软件:Windows2000/XP操作系统,VS2010编程环境。四、课程设计

3、的内容及步骤(一).课程设计的内容用同步TCP编写网络聊天程序,设计界面如下图所示:客户端:服务器端:(二).课程设计的步骤1.服务器端的编程<1>创建TcpListener对象,调用该对象的Start方法在指定端口进行监听。具体代码及注释如下。///保存连接的所有用户privateListuserList=newList();IPAddresslocalAddress;///监听端口privateconstintport=51888;privateTcpListenermyListener;boolisNormalExit=false;publicMainForm()

4、{InitializeComponent();listBoxStatus.HorizontalScrollbar=true;IPAddress[]addrIP=Dns.GetHostAddresses(Dns.GetHostName());localAddress=addrIP[0];buttonStop.Enabled=false;}<2>循环调用AcceptTcpClient方法接受客户端的连接请求。每得到一个新的TcpClient对象,即创建一个与该客户对应的线程,并与之通信。具体代码及注释如下。///

【开始监听】按钮的Click事件privatevoidbuttonS

5、tart_Click(objectsender,EventArgse){myListener=newTcpListener(localAddress,port);myListener.Start();AddItemToListBox(string.Format("开始在{0}:{1}监听客户连接",localAddress,port));//创建一个线程监听客户端连接请求ThreadmyThread=newThread(ListenClientConnect);myThread.Start();buttonStart.Enabled=false;buttonStop.Enabled=true;

6、}privatevoidListenClientConnect(){TcpClientnewClient=null;while(true){try{newClient=myListener.AcceptTcpClient();}catch{break;}//每接受一个客户端连接就创建一个对应的线程循环接收该客户端发来的信息Useruser=newUser(newClient);ThreadthreadReceive=newThread(ReceiveData);threadReceive.Start(user);userList.Add(user);AddItemToListBox(strin

7、g.Format("[{0}]进入",newClient.Client.RemoteEndPoint));AddItemToListBox(string.Format("当前连接用户数:{0}",userList.Count));}}<3>处理接收、发送的客户端数据privatevoidReceiveData(objectuserState){Useruser=(User)userState;Tc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。