- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 UDP通信实验 试验报告
网络程序设计
实验报告
实验名称:_________ UDP通信___________
实验类型:_________验证型实验 ________
指导教师:__________贾浩_______________
专业班级:_______信安0904______ ___
姓 名:_______谌军_____ ________
学 号:__________________
电子邮件:______448149700@______
实验地点:_______东6A4-17_______________
实 验 日 期:?? 2012 年? 3 月 29 日
实验成绩:__________________________
一、实验目的二、实验bye” ?程序就结束
错误
1.客户端的字符比较函数放错位置了,本来是放在接受函数之后,我没注意放在了发送函数之后,所以客户端发送了BYE之后,客户端并不能结束程序。
三、实验结果
UDPServer
UDPClient
四、讨论与分析
1.能否在接收数据之间不进行bind()调用?如果能,请说明可能的情况。
答:能,首先调用的是Sendto函数,系统会自动为程序绑定。因此即便调用recvfrom也可以。
2.能否使用connect()连接对方?为什么?
答:能客户创建套接字即可调用connect()连接对方服务器监听套接字,当服务器端的accept函数返回后,connect函数也返回。此时客户端使用Socket函数创建的套接字,服务器使用accept函数创建的套接字,双方就可以通讯了
五、实验者自评(主要从实验态度、方法、效果上给一个客观公正的自我评价)
这次实验比较简单,运行的时候要先运行服务端,再运行客户端。按照实验要求当任何一方发送字符“bye” ?程序就结束,因此服务端在接受数据函数后加上字符比较函数strcmp(),客户端也同样处理。实验结束基本上理解UDP通信的过程。
六、附录:关键代码(给出适当注释,可读性高)
客户端文件
char buff[1024];
//sockaddr_in addr;
int nLen = sizeof(addr);
while(TRUE)
{
// 发送数据
char szText[1024] ;
cinszText;
::sendto(s, szText, strlen(szText), 0, (sockaddr*)addr, sizeof(addr));
//接受数据
int nRecv = ::recvfrom(s, buff, 1024, 0, (sockaddr*)addr, nLen);
if(nRecv 0)
{
buff[nRecv] = \0;
printf( 接收到数据(%s):%s, ::inet_ntoa(addr.sin_addr), buff);
}
//比较是不是字符“bye”
if(strcmp(buff,bye)==0)
break;
}
printf(\n);
::closesocket(s);
return 0;
服务端文件
char buff[1024];
sockaddr_in addr;
int nLen = sizeof(addr);
while(TRUE)
{
//接受数据
int nRecv = ::recvfrom(s, buff, 1024, 0, (sockaddr*)addr, nLen);
if(nRecv 0)
{
buff[nRecv] = \0;
printf( 接收到数据(%s):%s, ::inet_ntoa(addr.sin_addr), buff);
//比较是不是字符“bye”
if(strcmp(buff,bye)==0)
break;
//发送数据
char szText[1024] ;
cinszText;
::sendto(s, szText, strlen(szText), 0, (sockaddr*)addr, sizeof(addr));
}
}
printf(\n);
::closesocket(s);
您可能关注的文档
最近下载
- 1.医院廉洁党课讲稿(精选).pdf VIP
- 专题07 修辞与仿写(讲义) 五升六语文暑假衔接(统编版).docx VIP
- 2025年执业药师继续教育中药注册管理专门规定参考答案.docx
- GB/T 34531-2017 液化二甲醚钢瓶定期检验与评定.pdf VIP
- 创维电视机说明书_图文.pdf VIP
- 医院科技成果转化合同模板.docx VIP
- 危险化学品企业“5.12 应急准备与响应”解读与应用指南(2025A1)(可编辑!).docx VIP
- 佳能 5D3 _ 5d mark iii-中文手册.pdf VIP
- 胶体与界面化学7重点.ppt VIP
- 【新教材】北师大版(2024)三年级上册数学第六单元 乘除法的应用(二) 教案(表格式).docx
原创力文档


文档评论(0)