一、设计目的

为了提高同学的自主动手能力,把理论知识运用于实

践中,从实践中更好的领悟所学的知识.

二、题目要求及需求分析

1.网络I/O程序设计:用Socket套接字实现DAYTIME 协

议的服务器和客户端程序

1.DAY TIM宙艮务器程序daytime_s

服务器程序创建一个TCP或UDF套接字,监听端口号13号 端口。在 收到客户端程序的连接后,将服务器的本地时间以ASCII码形式发送 到客户端。然后继续等待下一个客户端的连接。

2.DAY TIME客 户端程序 daytime_c

客户端程序创建一个TCP或 UDP套接字,连接服务器的13号端口。 在接收到服务器发送的日期时间信息后,将其打印到屏幕上,退出。

客户端运行时需要指定服务器的IP地址。所以客户端程序需 要首先读取命令行中的IP地址参数。

2.客户机/服务器模式

Server

三、概要设计

1.1定义类型

定义了五个字符型变量、三个整型和一个结构体变量

1.2用到的主要函数

Socket提供的系统调用或函数

socket()

获得一个socket文件描述符

bind

将指定socket绑定到某端口

connect

连接到远程某个端口

listen()

侦听等待远程连接

accept()

接受了一个远程连接

send(),recvO

发送或接收数据(TCP)

sendto()frecvfrom()

发送或接收数据(UDP)

close()

关闭socket描述符

shutdown()

改变socket可用性

getpeername()

获得连接另外一端的地址信息

gethostname()

获得本机主机名

gethostbyname()

根据主机名得到主机地址信息

inet_addr()

将IP地址字符串转换成网络字节序 的4字节地址

2.1 主函数

void mai n()

{

定义变量

while (1)

{

if (设置“ TCP或者UDP )

if (ssock < 0)

{}}

else

{

if(nvO) {}}

if (strcmp(tra nsport, "tcp") == 0)

{ }

else{ }}

closesocket(msock);

#if defined WIN32

WSACIea nup();

#en dif

}

四、详细设计

程序代码如下:

1.DAY TIME 客户端程序 daytime_c

#in clude

#in clude

#in clude"c onn ectsock.c"

#in clude "errexit.c"

#pragma comme nt (Iib,"ws2_32")

#defi neLINELEN 128

void mai n() {

char *a[100];

char *host=a;

struct sockaddr_in sin; /* the from address of a client7

int s;

char *service = "13"; /* 端口号 */

char *tra nsport = "tcp";/*"tcp" or "udp"*/

char buf[LINELEN+1]; /* buffer for one line of text */

int n;/* socket,读入计数 */

int ale n;

#if defined WIN32

WSADATA wsadata;

WSAStartup(1, &wsadata);

#en dif

printf("请输入服务器的IP地址:”);

sca nf("%s\n",a);

printf("显示当前时间:\n");

s = conn ectsock(host, service, tran sport);

if(s < 0)

return;

if (strcmp(tra nsport, "tcp") == 0)

{

while( (n = recv(s, buf, LINELEN, 0)) > 0)

{

buf[n]二'\0:/*en suren ull-term in ated, 定 义

buf[LINELEN+1]而不是 buf[LINELEN]是为了避免 buffer overflow*/ fputs(buf, stdout);

}

}

else

{

sen dto(s, "Get Time", 8, 0, (struct sockaddr *) &sin, sizeof(s in)); ale n 二 sizeof(s in);

n 二 recvfrom(s, buf, LINELEN, 0, (struct sockaddr *) &

daytime协议的服务器和客户端程序,用Socket套接字实现DAYTIME协议的服务器和客户端程序-20210726002244.doc-原创力文档...相关推荐

  1. daytime协议的服务器和客户端程序,用Socket套接字实现DAYTIME协议的服务器和客户端程序.doc...

    用Socket套接字实现DAYTIME协议的服务器和客户端程序.doc 一. 设计目的 为了提高同学的自主动手能力,把理论知识运用于实践中,从实践中更好的领悟所学的知识 . 二. 题目要求及需求分析 ...

  2. daytime协议的服务器和客户端程序,用socket套接字实现daytime协议服务器和客户端程序.doc...

    文档介绍: 用socket套接字实现daytime协议服务器和客户端程序.doc一.设计目的为了提高同学的自主动手能力,把理论知识运用于实践中,从实践中更好的领悟所学的知识.二.题目要求及需求分析1. ...

  3. daytime协议的服务器和客户端程序,用socket套接字实现daytime协议的服务器和客户端程序精编版.doc...

    用socket套接字实现daytime协议的服务器和客户端程序精编版.doc 还剩 11页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: ------- ...

  4. daytime协议的服务器和客户端程序,用Socket套接字实现DAYTIME协议的服务器和客户端程序-20210414073352.docx-原创力文档...

    用Socket套接字实现 DAY TIME 协议的服务器和客户端程序 一.设计目的 为了提高同学的自主动手能力,把理论知识运用于实 践中,从实践中更好的领悟所学的知识. 二.题目要求及需求分析 网络I ...

  5. c语言程序水准路线,C++语言在水准路线简易平差中的应用实例(17页)-原创力文档...

    C语言在水准路线简易平差中的应用实例C语言在水准路线简易平差中的应用实例 PAGE C++语言在水准路线简易平差中的应用实例 [摘 要]:水准测量工作分为野外数据采集和内业计算,白天测得的大量数据,晚 ...

  6. 细鹏系列裸金属服务器多核算力,鲲鹏凌云,开启多元计算新架构_外发版(40页)-原创力文档...

    鲲鹏凌云,开启多元计算新架构 华为云鲲鹏云服务整体介绍及实践 华为云鲲鹏凌云生态总监 白雁 这是最好的时代,这是最坏的时代 应用移动化和数据多样性,呼唤新的算力 移动智能终端逐渐取代传统PC 世界正在 ...

  7. 计算机软件设计专业的英语翻译,关于计算机专业java app设计的毕业设计论文英文英语外文文献翻译成品资料:Java应用程序的高效运行时方面编织(中英文双语对照)(35页)-原创力文档...

    本文是中英对照毕业设计论文外文文献翻译,下载后直接可用!省去您找文献.pdf整理成word以及翻译的时间,一辈子也就一次的事! 文献引用作者出处信息:Rodriguez-Prieto, O., Ort ...

  8. 网络七层协议 五层模型 TCP连接 HTTP连接 socket套接字

    socket(套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程 ...

  9. 信息安全web服务器安全配置,web服务器的安全设置与管理实验(11页)-原创力文档...

    信息安全 Web服务器的安全设置与管理实验 专业:物联网工程 班级: 姓名: 学号: 成绩 实验任务: We囹艮务器的安全设置与管理是网络安全管路的重要工作, 通过实验使学生 可以较好的掌握 Wet? ...

最新文章

  1. 解决Tomact端口被占用问题
  2. linux查看java进程cpu占用过高
  3. python度量学习_Python的差异度量
  4. 保护亿万数据安全,Spring有“声明式事务”绝招
  5. Unity超基础学习笔记(一)
  6. QTextStream
  7. 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_02.SpringMVC框架的介绍
  8. Mac配置腾讯云服务器SSH秘钥免登陆
  9. MapReduce如何使用多路输出
  10. Eclipse主题皮肤
  11. 视频教程-6小时JavaScript基础精讲-JavaScript
  12. pytorch双线性插值
  13. 【笔记】移植C的GNU Go到网页版
  14. IE-LAB网络实验室:华为认证 北京华为认证,思科ccie,sp ccie 思科ccnp CCNP需要学习多长时间
  15. 马科维茨投资组合理论总结
  16. html的圆角效果,CSS3轻松实现圆角效果
  17. Fluent瞬态结果导出为Ensight格式
  18. 表示自己从头开始的句子_表示一切从头开始的唯美句子38条
  19. UA MATH564 概率分布2 Poisson分布
  20. ImageLoader(UIL)自定义HTTP Header信息

热门文章

  1. excel 链接sql server数据库,并使用sql语句导出自己想要的数据
  2. 用Gromacs重复文献计算TIP4P介电常数谱
  3. OpenHarmony如何控制屏幕亮度
  4. 脑机接口-常用的MATLAB函数
  5. ViTDet程序调用不了GPU全部内存,而且显示NVCC: not available
  6. 用Node.js申请缓存buffer报DEP0005错误的解决方法
  7. 户型平面原型设计-简介
  8. 发力区块链,百度险中求胜 |链捕手
  9. Ubuntu20.04安装Nvidia驱动——4060显卡(黑屏解决方法)
  10. nexus 向私服推送jar包 两种方式实现