用socket套接字实现daytime协议的服务器和客户端程序精编版.doc
还剩
11页未读,
继续阅读
下载文档到电脑,马上远离加班熬夜!
亲,喜欢就下载吧,价低环保!
内容要点:
……………………………………………………………最新资料推荐…………………………………………………11、设计目的为了提高同学的自主动手能力,把理论知识运用于实践中,从实践中更好的领悟所学的知识.2、题目要求及需求分析1.网络 I/O 程序设计:用 Socket 套接字实现 DAYTIME 协议的服务器和客户端程序1. DAYTIME 服务器程序 daytime_s服务器程序创建一个 TCP 或 UDP 套接字,监听端口号 13 号 端口。在收到客户端程序的连接后,将服务器的本地时间以 ASCII 码形式发送到客户端。然后继续等待下一个客户端的连接。2. DAYTIME 客户端程序 daytime_c客户端程序创建一个 TCP 或 UDP 套接字,连接服务器的 13 号端口。在接收到服务器发送的日期时间信息后,将其打印到屏幕上,退出。客户端运行时需要指定服务器的 IP 地址。所以客户端程序需要首先读取命令行中的 IP 地址参数。 2.客户机/服务器模式……………………………………………………………最新资料推荐…………………………………………………23、概要设计1.1 定义类型定义了五个字符型变量、三个整型和一个结构体变量。1.2 用到的主要函数Socket 提供的系统调用或函数socket()bind()listen()recv()close()socket()connect()recv()send()close()blocks until server receivesa connect request from clientdatadataServerClientaccept()send()connect negotiation……………………………………………………………最新资料推荐…………………………………………………32.1 主函数void main(){定义变量while (1) {if (设置“TCP 或者 UDP”){……………………………………………………………最新资料推荐…………………………………………………4if (ssock #include #include"connectsock.c"#include "errexit.c"#pragma comment (lib,"ws2_32")#defineLINELEN 128……………………………………………………………最新资料推荐…………………………………………………5void main(){char *a[100];char *host=a;struct sockaddr_in sin; /* the from address of a client*/int s;char *service = "13"; /* 端口号 */char *transport = "tcp";/*"tcp" or "udp"*/char buf[LINELEN+1]; /* buffer for one line of text */int n; /* socket, 读入计数*/int alen;#if defined WIN32WSADATA wsadata;WSAStartup(1, &wsadata); #endifprintf("请输入服务器的 IP 地址:");scanf("%s\n",a);printf("显示当前时间: \n");s = connectsock(host, service, transport);if(s < 0)return;if (strcmp(transport, "tcp") == 0)……………………………………
发表评论
暂无评论,赶快抢占沙发吧。