东南大学计算机网络第四次实验报告_第1页
东南大学计算机网络第四次实验报告_第2页
东南大学计算机网络第四次实验报告_第3页
东南大学计算机网络第四次实验报告_第4页
东南大学计算机网络第四次实验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、东南大学自动化学院实验报告课程名称:信息通信网络概论第4次实验(系):自动化专 业:自动化实验名称:实验四、计算机网络通信应用程序设计名:学 号:验室:金智楼实验组别:同组人员:实验时间:2016年12月20日审阅教师:评定成绩:(一)基于TCP/IP的计算机网络通信应用程序设计实验目的和要求二实验原理三. 实验方案与实验步骤四. 实验设备与器材配置五. 实验记录六. 实验总结 11附录:部分代码(二)基于UDP/IP的计算机网络通信应用程序设计一.实验目的和要求 17二实验原理 17三实验方案与实验步骤 17四. 实验设备与器材配置 18五. 实验记录 18六. 实验总结 25七思考题或讨论

2、题 25附录:部分代码(一)基于 TCP/IP 的计算机网络通信应用程序设计一. 实验目的和要求1. 通过本实验课程的学习,使学生能够理解 TCP协议通信的基本原理。2. 通过运用Win Sock接口编写网络通信应用程序,掌握 TCP网络应用程序架构的 设计思想。3. 学会设计利用TCF简单的应用层协议。二. 实验原理TCP是面向连接的通信协议,TCP提供两台计算机之间的可靠无错的数据传输。应用程 序利用TCP进行通信时,源和目标之间会建立一个虚拟连接。这个连接一但建立,两台计算机之间就可以把数据当作一个双向字节流进行交换。三. 实验方案与实验步骤1、客户机/ 服务器工作流程服务器端1 :创建

3、套接字并将套接字绑定到一个本地地址和端口上( create )。2:将套接字设为监听模式,准备接受客户请求( listen )。 3:等待客户请求到来;请求到来后,接受请求,返回一个新的对应于此次连 接的套接字( accept )。4:用返回的套接字和客户端进行通信( send/receive )。 5:返回,等待另一客户请求。6:关闭套接字。客户端1 :创建套接字( create )。2:向服务器发出连接请求( connect )。3:和服务器进行通信( send/receive )。4:关闭套接字。图 客户机 / 服务器工作流程2、系统实现图 系统实现过程四 实验设备与器材配置电脑、五 实

4、验记录1、界面(1)选择:客户机、服务器;(2)输入: IP 设置、端口设置、输入内容;(3)输出显示:消息列表、发送和接收消息数目;(4)按钮:连接 / 侦听、发送、清空、退出。图 界面设计2、功能描述( 1)初始化:服务器点击侦听,客户机输入服务器IP 后,点击连接实现服务器客户机之间的连接通信。在界面上显示连接信息,服务器向客户机发送 Welcome my friend! , 客户机向服务器发送 I am Paul 。图 初始化( 2)客户机与服务器对话:服务器显示Server : +发送的消息 ,客户机显示 Paul : +发送的信息。图客户机与服务器对话( 3)输入 /n 在聊天对话

5、框画一个牛,输入 /p 画一个电话图 输入 /p 画一个电话图 输入 /n 画一个电话(4)输入 /l 会弹出一个对话框图 输入 /l 弹出一个对话框( 5)输入 /r 会打开一个 windows 资源管理器,并打开指定的路径,当前设置的路径为: C:/windows/media图 输入 /r 打开一个 windows 资源管理器3、改进1) 获取发送方主机名和发送时间通过函数 gethostname(hostname,sizeof(hostname) 得到主机名, 客户机获得服务 器主机名为20WQ服务器获得客户机主机名为20WQ(实验时使用同一台电脑进行调试,所以主机名是一样的) ,添加到

6、接收信息列表中信息前面。通过函数 time() 、 localtime() 获得当前系统时间,能够显示发送接收时间,格式 为年/月/日 时/ 分/秒,添加到接收信息列表中信息首部。图 获取主机名、添加发送时间( 2) 自定义字符画:定义字符串 TP_xin_str ,输入 /x 时调用绘制一个小象图 自定义字符画(3) 自定义表情符号:输入/s时输出”难过(丁丁 ),输入la时输出生气(皿 #),输入/j时输出”惊讶(O oO)等。图 自定义表情符号( 4 ) 显示发送、接收消息总数通过() 函数实现对列表中发送和接收到的信息计数,并显示在界面上。初始化时, 发送数和接收数均为 1,清空列表后

7、,相应的重置为0。( 5 ) 清空列表通过函数 () 实现清空列表。( 6) 添加背景图片、改变控件背景色、字体等。上传bmp图片到Bitmap资源文件夹中,在 On Pai nt()中添加代码,通过不同图片的 ID 来设置不同的背景图片。通过加入 WM_CTLCOLOR息,自动生成 OnCtlColor() 函数,利用 SetBkMode()、 SetTextColor() 、SetBkColor() 、CreateSolidBrush() 、SetFont() 等函数设置背景格式、 改变控件背景色和字体大小颜色等。图 其他功能六 实验总结 这次实验与实验三较为相似,在上次的基础上,增加了自

8、定义字符画、符号表情等, 进一步加深了对 TCP/IP协议的理解,也能够根据生活中的聊天工具如QQ等,增加一些类似的功能,使其应用性更强。附录:(部分代码)1、获取对方主机信息添加发送接收时间 (客户端和服务器类似, 在此只贴出服务器代码)void CProject2Dlg:OnServerReceive()CString mDay;CString mTime;CString ttime;time_t t1;t1 = time(NULL);) , / _/ , /| ( |( A / 八 | ,|_| |_|-“ ;int TP_xin_int=7;for(int i=0;iDrawNiu()

9、;break;case z: pDlg-DrawPig();break;case p: pDlg-DrawPhone();break;casee:ShellExecute(NULL,open, NULL, NULL, SW_SHOWNORMAL);break;/ 打开网址 case t: ShellExecute(NULL,open,F:/,NULL,NULL,SW_SHOWNORMAL);break; / 打开图片 caser:ShellExecute(NULL,explore,C:/windows/media,NULL,NULL,SW_SHO WNORMAL);break;default:

10、 pDlg-(该字母对应操作尚未定义 !);break;3、设置控件背景透明HBRUSH CUDPprojectDlg:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)HBRUSH hbr = CDialog:OnCtlColor(pDC, pWnd, nCtlColor);/ TODO: Change any attributes of the DC here if(pWnd -GetDlgCtrlID()=IDC_EDIT_OUTMSG)/ 输入框背景 HBRUSH brush=CreateSolidBrush(RGB(255,255,255

11、);return (HBRUSH)brush;else if(nCtlColor = CTLCOLOR_STATIC) / 对所有静态文本控件的设置 pDC-SetBkMode(TRANSPARENT); / 设置背景为透明 return (HBRUSH):GetStockObject(NULL_BRUSH);elsereturn CDialog:OnCtlColor(pDC, pWnd, nCtlColor);/ TODO: Return a different brush if the default is not desired return hbr;CRect rcStatic; this-GetDlgItem(IDC_STATIC_STATE)-GetWindowRect(&rcStatic); ScreenToClient(&rcStatic);InvalidateRect(&rcStatic);/ 重新绘制 this-GetDlgItem(IDC_ED

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论