1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > daytime协议的服务器和客户端程序 用Socket套接字实现DAYTIME协议的服务器和客户端程

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

时间:2018-11-09 21:21:31

相关推荐

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

用Socket套接字实现 DAY TIME

协议的服务器和客户端程序

一、设计目的

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

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

二、题目要求及需求分析

网络I/O程序设计:用Socket套接字实现DAY TIME 协

议的服务器和客户端程序

DAY TIM用艮务器程序daytime_s

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

DAY TIME客 户端程序 daytime_c

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

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

客户机/服务器模式

Serverliste n()accqpt() blocks un til server a conneClie ntsock

Server

liste n()

accqpt() blocks un til server a conne

Clie nt

sock

O W VI

ft()

吋equesff^mOCSeict negotiati(cQnnect()

recv()

send()

sen d()

data

close()

close()

三、概要设计

i.i定义类型

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

1.2用到的主要函数

Socket提供的系统调用或函数

socket()

获得一个socket文件描述符

bind

将指建socket绑泄到某端口

connect

连接到远程某个端口

listen()

侦听等待远程连接

accept^

接受了一个远程连接

send()frecv()

发送或接收数据(TCP)

sendto()Arecvfrom()

发送或接收数据(UDP)

close()

关闭socket描述符

shutdown()

改变socket o;用性

getpeername()

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

gethostnameO

获得本机主机名

gethostby name()

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

inet_addr()

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

2.1 主函数

void mai n()

{

定义变量

while (1)

{

if (设置“ TCP或者UDP )

if (ssock < 0)

{}}

else

{

if(nvO) {}}

if (strcmp(transport, "tcp") == 0)

{ }

else{ }}

closesocket(msock);

#if defined WIN32

WSACIea nup();

#en dif

}

四、详细设计

程序代码如下:

1.DAY TIME 客户端程序 daytime_c

#i nclude

#in clude

#in clude"c onn ectsock.c"

#in clude "errexit.c"

#pragma comme nt (Iib,"ws2_32")

#defi ne LINELEN128

#defi ne LINELEN

128

void mai n() {

char *a[100];

char *host=a;

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

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(transport, "tcp") == 0)

while( (n

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。