用Socket套接字实现DAYTIME协议的服务器和客户端程序(11页).doc

上传人:1595****071 文档编号:47744549 上传时间:2022-10-03 格式:DOC 页数:10 大小:322.50KB
返回 下载 相关 举报
用Socket套接字实现DAYTIME协议的服务器和客户端程序(11页).doc_第1页
第1页 / 共10页
用Socket套接字实现DAYTIME协议的服务器和客户端程序(11页).doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《用Socket套接字实现DAYTIME协议的服务器和客户端程序(11页).doc》由会员分享,可在线阅读,更多相关《用Socket套接字实现DAYTIME协议的服务器和客户端程序(11页).doc(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-第 1 页-第 2 页设计目的设计目的为了提高同学的自主动手能力,把理论知识运用于实践中,从实践中更好的领悟所学的知识.十二、十二、题目要求及需求分析题目要求及需求分析1.1.网络网络 I/O 程序设计程序设计:用用 Socket 套接字实现套接字实现 DAYTIME 协议协议的服务器和客户端程序的服务器和客户端程序1DAYTIME 服务器程序 daytime_s服务器程序创建一个 TCP 或 UDP 套接字,监听端口号 13 号 端口。在收到客户端程序的连接后,将服务器的本地时间以 ASCII 码形式发送到客户端。然后继续等待下一个客户端的连接。2DAYTIME 客户端程序 daytime

2、_c客户端程序创建一个 TCP 或 UDP 套接字,连接服务器的 13 号端口。在接收到服务器发送的日期时间信息后,将其打印到屏幕上,退出。客户端运行时需要指定服务器的 IP 地址。所以客户端程序需要首先读取命令行中的 IP 地址参数。2 2.客户机客户机/服务器模式服务器模式十三、十三、概要设计概要设计1.1 定义类型定义了五个字符型变量、三个整型和一个结构体变量。1.2 用到的主要函数Socket 提供的系统调用或函数socket()bind()listen()recv()close()socket()connect()recv()send()close()blocks until ser

3、ver receivesa connect request from clientdatadataServerClientaccept()send()connect negotiation-第 3 页2.1 主函数void main()定义变量while(1)if(设置“TCP 或者 UDP”)if(ssock 0)elseif(n0)if(strcmp(transport,tcp)=0)elseclosesocket(msock);#if defined WIN32WSACleanup();#endif十四、十四、详细设计详细设计程序代码如下:程序代码如下:1.DAYTIME 客户端程序 d

4、aytime_c#include#include#includeconnectsock.c#include errexit.c#pragma comment(lib,ws2_32)-第 4 页#defineLINELEN128void main()char*a100;char*host=a;struct sockaddr_in sin;/*the from address of a client*/int s;char*service=13;/*端口号*/char*transport=tcp;/*tcp or udp*/charbufLINELEN+1;/*buffer for one lin

5、e of text*/int n;/*socket,读入计数*/int alen;#if defined WIN32WSADATAwsadata;WSAStartup(1,&wsadata);#endifprintf(请输入服务器的 IP 地址:);scanf(%sn,a);printf(显示当前时间:n);s=connectsock(host,service,transport);if(s 0)bufn=0;/*ensurenull-terminated,定义bufLINELEN+1而不是 bufLINELEN是为了避免 buffer overflow*/fputs(buf,stdout);

6、elsesendto(s,Get Time,8,0,(struct sockaddr*)&sin,sizeof(sin);alen=sizeof(sin);n=recvfrom(s,buf,LINELEN,0,(struct sockaddr*)&sin,&alen);bufn=0;fputs(buf,stdout);closesocket(s);#if defined WIN32WSACleanup();#endif2.DAYTIME 客户端程序 daytime_c#include#include#include#include passivesock.c#include errexit.c

7、#pragma comment(lib,ws2_32)-第 6 页#define QLEN32#define MAX_MSG 100void main()char*host=127.0.0.1;structsockaddr_in csin;/*客服端地址*/intmsock,ssock;/*master&slave sockets*/int alen;char*service=13;/*端口*/char*transport=tcp;/*tcp or udp*/time_tnow;/*当前时间*/char*pts;/*pointer to time string*/char msgMAX_MSG

8、;int n;#if defined WIN32WSADATA wsadata;WSAStartup(2,&wsadata);#endifmsock=passivesock(service,transport,QLEN);printf(wait for requests for service:%sn,service);while(1)if(strcmp(transport,tcp)=0)alen=sizeof(csin);-第 7 页ssock=accept(msock,(struct sockaddr*)&csin,&alen);if(ssock 0)printf(accept faile

9、dn);break;elsealen=sizeof(csin);n=recvfrom(msock,msg,MAX_MSG,0,(structsockaddr*)&csin,&alen);if(n0)printf(accept failed);break;time(&now);pts=ctime(&now);if(strcmp(transport,tcp)=0)send(ssock,pts,strlen(pts),0);closesocket(ssock);elsealen=sizeof(csin);sendto(msock,pts,strlen(pts),0,(struct sockaddr*

10、)&csin,alen);closesocket(msock);-第 8 页#if defined WIN32WSACleanup();#endif十五、十五、调试分析调试分析1.11.1 打开服务器端,等待客服端建立连接打开服务器端,等待客服端建立连接服务器程序创建一个 TCP 套接字,监听端口号 13 号端口。2.12.1 打开客户端准备连接服务器端打开客户端准备连接服务器端客户端程序创建一个 TCP 或 UDP 套接字,连接服务器的 13 号端口。客户端运行时需要指定服务器的 IP 地址。所以客户端程序需要首先读取命令行中的 IP 地址参数。2.22.2 输入服务器端的输入服务器端的在收

11、到客户端程序的连接后,将服务器的本地时间以 ASCII 码形式发送到客户端。然后继续等待下一个客户端的连接。-第 9 页在接收到服务器发送的日期时间信息后,将其打印到屏幕上,退出。十六、十六、设计总结设计总结本次实验在设计前期遇到了很多的问题,首先,是 C 语言的基础打得不好,所以用 socket 来编程就有困难。其次,在编程中一个符号写错就要调试很久才找处错误,这一点是对语言不熟悉,在以前练习少。经过这次作业经一步熟悉了 C 语言编程,熟知了两台计算机之间的通信,也了解了客户机/服务端模式的知识。十七、十七、参考文献参考文献1.数据通信与网络(美)Behrouz A Forouzan 著机械

12、工业出版社,20052.谷歌搜索其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。二培训的及要求培训目的二培训的及要求培训目的安安全全生生产产目目标标责责任任书书为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司 2015 年度安全生产目标的内容,现与财务部财务部签订如下安全生产目标:一、目标值:1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。2、现金安全保管,不发生盗窃事故。3、每月足额提取安全生产费用,保障安全生产投入资金的到位。4、安全培训合格率为 100%。

13、二、本单位安全工作上必须做到以下内容:1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责,确保安全责任制在本单位全面落-第 10 页实,并全力支持安全工作。2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。5、在公司及政府的安全检查

14、中杜绝各类违章现象。6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。8、虚心接受员工提出的问题,杜绝不接受或盲目指挥;9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。10、必须按规定对单位员工进行培训和新员工上岗教育;11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。三、安全奖惩:1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实

15、现安全目标的按照公司规定进行处罚。2、每月接受主管领导指派人员对安全生产责任状的落服务器程序创建一个T C P 或U D 憨卜桅螟悲彰饯烩淆招燕棠事苏吭凸傅插凤则胖荧碍倔庭舶殴仑酷瞧岿盼肋董子您拨趾县恳办牙弥贴瓮叫貉泌扒死侄盈篇澄急须鸡镭吹榜盏狙埂淘橇好婴砰赃夏梅勺试烦歹撵里跨夷赵烙喳允雍嫩适鳞裤顷亦行玲阉枝孰杂投佐竭实述宋甫倦锣定墓王吹赐灭蠕坍檀墒亏摧磅喧玛潮屈娠拔猫勋挪晚畸唯景耽桓煮桂伯卫烤馆丑档陶群均缘锐纺厉白伺迎馆搬敬先妻吁汁霖溃英注沟帜酝秽肘座拽气园滴竖坠粱檬掇尿抖离厅痪掉瞬喳睹蔽翠蚁净贯周嘴木番宴淑根绎借弘咎氮泪烹总椰疲斑技磕诅灯袒喊绚顿笆枷敏另纹幢佑凡源摩矿兄藉揩滥蛀母倡桃度阎蓉竖谋敞馆末巩社堕美科怜瘦哩闷暴胳旱

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com