⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server.c

📁 Time服务TCP客户机——服务器实现,linux下实现
💻 C
字号:
#define LISTENQ 1024
#define SA struct sockaddr

#include "curses.h"
#include "stdlib.h"
#include "stdio.h"
#include "errno.h"
#include "netdb.h"
#include "string.h"
#include "sys/time.h"
#include "sys/types.h"
#include "sys/socket.h"
#include "netinet/in.h"
#include "memory.h"
#include <time.h>
/* Define bzero() as a macro if it's not in standard C library. */
#ifndef HAVE_BRZEO 
#define bzero(ptr,n) memset(ptr,0,n) 
#endif
#define	UNIXEPOCH	2208988800UL	/* UNIX epoch, in UCT secs	*/

int main(int argc,char * * argv)
{     unsigned int	alen;	
       time_t	now;
       	
	int msock,ssock;
	struct sockaddr_in servaddr;//服务器IP地址、端口信息
       struct sockaddr_in fsin;
 
	msock = socket(AF_INET,SOCK_STREAM,0);//创建套接字  
	bzero(&servaddr,sizeof(servaddr));   //初始化服务器信息及接受连接的地址信息
	servaddr.sin_family = AF_INET;
	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);  
	servaddr.sin_port = htons(13);
	bind(msock,(SA *)&servaddr,sizeof(servaddr));//绑定套接字
       listen(msock,LISTENQ);

	while(1)
	{     alen = sizeof(fsin);
             ssock = accept(msock, (struct sockaddr *)&fsin, &alen);//接受响应
             (void) time(&now);
		now = htonl((unsigned long)(now + UNIXEPOCH));
		(void) write(ssock, (char *)&now, sizeof(now));//发送回应
}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -