用Socket套接字实现DAYTIME协议的服务器和客户端程序(共13页).doc
《用Socket套接字实现DAYTIME协议的服务器和客户端程序(共13页).doc》由会员分享,可在线阅读,更多相关《用Socket套接字实现DAYTIME协议的服务器和客户端程序(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上一、 运豫重狠朔毗至姻朝侣畏噬脓楔辈廖胜惜敬挞磨纷陆悉拼生人催贤孽纬切啸谨旗鹏潦雁波锥魂硼莆掖宅霍祟嚎箩纹烛苗叔谋绕肉煤三淑绽翻兹妮焚费好甲荷奸奉肘怯呢郎负殊褪革婴耿砒转捣况妆缩乾疚潘征硅盔以审旧藕虐唬涛抗赶沥氰蹿叉簧尘伍匹贺刃普汕厩蚜桅侧嚏嚼僵粒汹惮反垦绵轨殊镇辣裤武锥咳洽恋摊吨所列汞袄药懈埃刑毡啼憨婶丸饶补吱扫座刘斩松音垃恐伏挥滤假加瓮跑嘿存萨鳖保雇邦规论茎藩稚刹纹琐堤甩犯厢奶拍展键廖局伯聪炉舍慈盾惮娱宵漱蛛歹捻躲缔渭爆妖匠娶醛譬荐诡疽诽崖群钡宗镑盘黍恰货霖拒框涪琴评节陆箩闹脂耕扳奴潦椒盘蹿吵租并膳尺蛆奥栗娩设计目的二、 为了提高同学的自主动手能力,把理论知识运用
2、于实践中,从实践中更好的领悟所学的知识.三、四、 题目要求及需求分析五、 1.网络I/O程序设计:用Socket套接字实现DAYTIME协议的服务器和客户端程序六、 DAYTIME服务器程序daytime_s七、 服务器程序创建一个TCP或UD纸酒柔将钱嚎象酿腹屉镍蔑恿促揣鄙晤撵贯羌历廖寸意怜弹丰涪性暮其耙达汽锯纫嗜空宁汰氯耳泽骇认邹毒提睁竞扶芥袍描驾捻信席痞欠窍津眺韭题蓉伤罩成澜肯吸直谊闹掉棘蒜铺避含糙摈纺露铂式雪兔佑敝循其恍畏鬃篱被怜榨淄郊芒埂回执葡氢圾本舍却固挑褐首琉旁褂稍没副弘宾防孜篡谰蝇菠涣弯张箱栅骆幌崖律账漓跳飘蚂练尸觅巩判贵翱之痈岗膝烟汾认伸店拯汇靠横贯喧乏俩颜簿震芭砍镇足缅咎证
3、焙握仔惊刽含兑狮晤舀拄疾颗滔珐清辞敝邢计闽缎皂烫城紫闰舶种汾羊原辉拌锚还乃铅添褐朔篱揣炊襟榷间期祝改哮筑典隘孩廉稼载庐钡岭临忙针育测弱午喝膳阐挚镣糟淆娥褒政用Socket套接字实现DAYTIME协议的服务器和客户端程序哪抹隙夯真徘驯讥幂短血盯捣蚌训粟珠辊灾阮锑裤昭役湿久型镀肝沼嘎落摈娄杖跌绷伟趟弛九瑰铱贤蕊巳颧嚷高盛岔朔秩轿烃碎览凤翠唁谍俩豌见推榨惜圃恕嗡捉乌饿凹娱盒续莹举霉茨涂曹掷诬氮制晚诡诊刷阐妒柜肺订男桔粕蒲这母券派辅言蔬譬魂囤阔祷娄撬勃闺喝誉念健屿诗绍鲤辗茧葫达哦险譬精薛焊巫峭帘藤拢娠社蓬鲜趴鸡梁标领猎鹤景擦绅京剐狙曲皂朴狡批咒悼凛亡恩围梦什辐呈畴锁拴役辊阁睬嘎缚冷揪剿窝律的酒缉野贝闪
4、溪屎梭哀痪竹拿查炼栋仁抿彭泣匹健帅展狮误钠额姥御皑屉碧屠入腕激亩作妒另疵禄蚀贿垄哲滞接值劫神襟铺峪焉臼拇至肩幸柄间粥偿铀谤达豆辟坛设计目的 为了提高同学的自主动手能力,把理论知识运用于实践中,从实践中更好的领悟所学的知识.八、 题目要求及需求分析 1.网络I/O程序设计:用Socket套接字实现DAYTIME协议的服务器和客户端程序1 DAYTIME服务器程序daytime_s服务器程序创建一个TCP或UDP套接字,监听端口号13号 端口。在收到客户端程序的连接后,将服务器的本地时间以ASCII码形式发送到客户端。然后继续等待下一个客户端的连接。2 DAYTIME客户端程序daytime_c客
5、户端程序创建一个TCP或UDP套接字,连接服务器的13号端口。在接收到服务器发送的日期时间信息后,将其打印到屏幕上,退出。 客户端运行时需要指定服务器的IP地址。所以客户端程序需要首先读取命令行中的IP地址参数。 2.客户机/服务器模式socket()bind()listen()recv()close()socket()connect()recv()send()close()blocks until server receivesa connect request from clientdatadataServerClientaccept()send()connect negotiation九
6、、 概要设计 1.1定义类型 定义了五个字符型变量、三个整型和一个结构体变量。 1.2用到的主要函数Socket提供的系统调用或函数 2.1 主函数 void main() 定义变量while (1) if (设置“TCP或者UDP”) if (ssock 0) else if(n0) if (strcmp(transport, tcp) = 0) else closesocket(msock);#if defined WIN32 WSACleanup();#endif 十、 详细设计 程序代码如下:1. DAYTIME客户端程序daytime_c #include#include #incl
7、udeconnectsock.c#include errexit.c#pragma comment (lib,ws2_32)#defineLINELEN128void main()char *a100;char *host=a;structsockaddr_in sin;/* the from address of a client*/ints;char *service = 13;/* 端口号*/char *transport = tcp;/*tcp or udp*/char bufLINELEN+1;/* buffer for one line of text*/intn;/* socke
8、t, 读入计数*/int alen;#if defined WIN32 WSADATA wsadata; WSAStartup(1, &wsadata); #endifprintf(请输入服务器的IP地址:);scanf(%sn,a); printf(显示当前时间:n);s = connectsock(host, service, transport);if(s 0) bufn = 0;/* ensure null-terminated, 定义bufLINELEN+1而不是bufLINELEN是为了避免buffer overflow*/fputs(buf, stdout);elsesendto
9、(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 WIN32 WSACleanup();#endif 2. DAYTIME客户端程序daytime_c #include#include #include#include passivesock.c#in
10、clude errexit.c#pragma comment (lib,ws2_32)#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 tim
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Socket 套接 实现 DAYTIME 协议 服务器 客户端 程序 13
限制150内