课程设计报告

发布 2022-10-01 05:55:28 阅读 7790

1 需求分析。

1)课程设计目的。

开发一个专用于实现两台计算机之间即时通讯的软件,以方便两台计算机之间信息的交流。,在连接并通信时,尤其是近程的即时通讯,彻底的脱离了远程的服务器,避免了和远程服务器连接时过多的浪费网络资源。并且避免了服务器忙或与服务器无法连接时,浪费过多时间用于和服务器建立连接!

因此,这个软件是极具适应性和实用性的即时通讯软件!本次课程设计的目的是学习基于udp协议实现网络聊天程序,已达到学会面向无连接方式的程序设计方法,并理解网络编程中面向无连接的概念。

2)课程设计的内容。

用户数据报(udp)是一个无连接协议,使用这种协议时,并不需要在两台计算机之间建立固定的连接,也就是说,通信双方没有服务器和客户机之分,它们之间进行的是对等通信,所以它的优势很明显,是现代通信不可或缺的一部分。所以,利用它的优势设计一个可以实现私聊和群聊的软件,实现两台计算机间的即时通讯。

3)课程设计要求。

基于udp协议实现一对一的聊天和一对多的聊天,提供友好的用户界面,便于用户进行操作。

根据目前使用聊天程序的用户需求显示,用户对于聊天程序主要有以下几点要求:

1)聊天功能:可以实现实时接收和发送文字信息,并能支持公聊和私聊的方式。

2)用户功能:可以查看对方的开放信息,以及发送方的ip。

2 原理概述。

网络会议时基于局域网或internet网的实时的、交互的计算机应用系统,由于它具有低成本、少失误、可扩展的优点,已经被广泛应用于各个领域中。编写这类程序时,如果采用单薄方式,由于发送效率低,是不可取的;如果采用广播方式,显然达不到区分特定数据接收对象目的。而采用组播方式,既可以实现一次向所有目标节点发送数据,也可以达到只对特定对象才能接收的目的。

3 功能模块调用流程设计:

private void setlistboxitem(listbox listbox, string text, listboxoperation operation)

/listbox操作函数。

private void formmeeting_load(object sender, eventargs e)

/ formmeeting窗体加载函数。

public static void sendmessage(ipaddress ip, string sendstring)

/发送消息函数。

private void receivemessage()

/接收消息函数。

private void textboxmessage_keypress(object sender, keypresseventargs e)

/键值判断函数。

private void form1_formclosing(object sender, formclosingeventargs e)

/窗体关闭事件。

private void buttonlogin_click(object sender, eventargs e)

/开始聊天按钮单击事件。

private void buttonlogout_click(object sender, eventargs e)

/退出按钮单击事件。

private void button1_click(object sender, eventargs e)

/群聊判断按钮单击事件。

private void listboxaddress_mousedoubleclick(object sender, mouseeventargs e)

/群成员窗口鼠标双击事件。

1 界面设计与运行效果图。

登录窗口。修改昵称选择班级登录。

进入聊天窗口。

开始聊天。开始聊天两名聊天者进入聊天室。

群聊中。双击私聊对象后右上“群聊”按钮变为私聊人姓名。

开始私聊。点击“清屏”按钮后。

点击右上按钮还原为“群聊”

桌面右下方的小图标双击打开程序右键可显示主窗体和退出。

点击“退出”后部分窗体变灰聊天窗体显示聊天者退出。

关闭程序是弹出确认关闭窗口。

2 主要源**。

1)formlogin的部分**。

private void login_load(object sender, eventargs e)

public static string qname; /昵称。

public static string group; /班级。

private void button1_click(object sender, eventargs e) /点击登录。

private void button2_click(object sender, eventargs e) /点击取消。

2)组别选择

if ( 101021")

brodercastip = 224.100.0.1

if ( 101022")

brodercastip = 224.100.0.2

if ( 101023")

brodercastip = 224.100.0.3

if ( 101024")

brodercastip = 224.100.0.4

3)listbox管理。

private void setlistboxitem(listbox listbox, string text, listboxoperation operation)

string cc;

if ( true)

listbox, text, operation);

elseif (operation ==

if (listbox ==listboxaddress)

if ( false)

if (text !=

cc = string oo = cc[0];

<" oo + 进入。")

elseif (text!= 进入 }

else if (operation ==

cc = string oo = cc[0];

课程设计报告格式 课程设计

洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...

课程设计总结,课程设计报告

课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...

课程设计 课程设计报告格式

学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...