作为守护进程运行的协议无关时间获取服务器程序

#include    <time.h>
#include    <stdio.h>
#include    <stdlib.h>
#include    <string.h>
#include    <unistd.h>
#include    <sys/socket.h>

#define     MAXLINE     4096

int daemon_init(const char *, int);
int tcp_listen(const char *, const char *, socklen_t *);
char *sock_ntop(const struct sockaddr *, socklen_t);
void err_msg(const char *, ...);
void err_quit(const char *, ...);

int main(int argc, char **argv)
{
    int listenfd, connfd;
    socklen_t addrlen, len;
    struct sockaddr    *cliaddr;
    char buff[MAXLINE];
    time_t ticks;

    if (argc < 2 || argc > 3) {
        err_quit("usage: %s [ <host> ] <service or port>", argv[0]);
    }

    daemon_init(argv[0], 0);

    if (argc == 2) {
        listenfd = tcp_listen(NULL, argv[1], &addrlen);
    } else {
        listenfd = tcp_listen(argv[1], argv[2], &addrlen);
    }

    cliaddr = malloc(addrlen);

    for ( ; ; ) {
        len = addrlen;
        connfd = accept(listenfd, cliaddr, &len);
        err_msg("connection from %s", sock_ntop(cliaddr, len));

        ticks = time(NULL);
        snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&ticks));
        write(connfd, buff, strlen(buff));

        close(connfd);
    }
}

原文地址:https://www.cnblogs.com/soldierback/p/10755650.html

时间: 2024-10-22 20:19:39

作为守护进程运行的协议无关时间获取服务器程序的相关文章

一个简单的时间获取服务器程序

程序执行流程: 1.创建TCP套接字 listenfd = Socket(AF_INET, SOCK_STREAM, 0) 2.清空sockaddr_in  servaddr结构体 bzero(&servaddr, sizeof(servaddr)) 3.填写网际套接字地址结构 我们指定IP地址为INADDR_ANY,这样要是服务器主机有多个网络接口,服务器进程就可以在任意网络接口上接受客户连接 servaddr.sin_family      = AF_INET; servaddr.sin_a

UNIX网络编程1.5一个简单的时间获取服务器程序1.6客户服务器程序索引表

#include "../lib/unpsunyj.h" #include <time.h> int main(int argc, char ** argv) { int listenfd; int connfd; sockaddr_in servaddr; char buff[MAXLINE]; time_t ticks; // TCP套接字的创建 // listenfd = Socket(AF_INET, SOCK_STREAM, 0); if ((listenfd =

简介(1)-概述、一个简单的时间获取客户程序

1.概述 大多数网络应用划分:客户(client)和服务器(server) 一些复杂的网络应用:异步回调通信,即服务器向客户发起请求消息. 协议栈:应用协议.TCP协议.IP协议.以太网协议 局域网(local area network,LAN),广域网(wide area network,WAN). 路由器是广域网的架构设备. 因特网:当今最大的广域网. POSIX:一种被多数厂商采纳的标准. 2.一个简单的时间获取客户程序 1)创建套接字 socket函数 2)指定服务器的IP地址和端口 s

L脚本语言开发的时间获取服务器和客户端

#scp #这是一个TCP时间获取服务器的例子 #它不断监听一个网络连接 #如果有网络连接到来 #就通过新建立的网络连接发送当前时间 定义:字符串,string2,"" 定义:地址,addr2,127.0.0.1,13 定义:整数,字节数,0 定义:网络连接,conn2,TCP 定义:函数,routine 开始:函数,routine 监听:conn2,addr2 定义:时间,time1 读取:当前时间,time1 转换:string2,time1 取大小:字符串,string2,字节数

Linux网络编程(简单的时间获取服务器)

1.一个简单的服务器时间获取程序 服务器和客户端采用UDP通信的方式,来编写一个简单的时间获取应用. 把过程大致理顺一下,首先是服务器端的编写,使用的是迭代的方式,没有并发 先创建一个socket而后bind服务器,绑定之后就可以创建一个循环来接收和发送 信息了,以达到和客户端之间的通信. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include

springboot运行时修改端口并且以守护进程运行

springboot项目可以生成war和jar文件来运行,生成war只要在tomcat中修改解压后的配置文件中的端口号就可以.jar需要运行时指定端口,java -jar xxxx.jar server.port=90,这样就可以了, 在守护进程下运行可以使用 nohup java -jar xxx.jar --serverport=89 >info.log &,这样程序就可以在守护进程下运行了. 原文地址:https://www.cnblogs.com/wolf-zt/p/10172474

nodejs 守护进程运行

有四种方法: 1.forever forver start  bin/www 2.pm2 pm2 strat bin/www 3.node自身进程保护 nohup node /bin/www  > 1.log & 平时在系统终端中执行一个命令后如果想立即的停止它,您可以同时按下系统组合键"Ctrl+c",这样命令的进程将会立即被终止,是生产工作中比较常用的命令行快捷键之一.或者有些命令在执行时会不断的在屏幕上输出信息,影响到咱们继续输入命令了,便可以在执行命令时在命令最后

Linux下tomcat作为守护进程运行(开机启动、以指定的用户运行、解决非root身份不能绑定1024以下端口的问题)的配置方法

如题. 参考资料: http://www.jdiy.org/read.jd?id=y0haaynq1w http://blog.csdn.net/shw2004/article/details/5782318

一个简单的时间获取客户程序

程序执行流程: 1.创建套接字 sockfd = socket(AF_INET, SOCK_STREAM, 0) 2.把结构体servaddr清零 bzero(&servaddr, sizeof(servaddr)) 3.置地址簇为AF_INET servaddr.sin_family = AF_INET 4.端口号设为13 网际套接字地址结构中IP地址和端口号这2个成员必须使用特定格式 htons主机到网络短整数,去转换二进制端口号 servaddr.sin_port   = htons(13