mserver.c

来自「ssl的客户端和服务端源代码」· C语言 代码 · 共 45 行

C
45
字号
/* A multiprocess SSL server */#include "common.h"#include "server.h"#include "echo.h"int main(argc,argv)  int argc;  char **argv;  {    int sock,s;    BIO *sbio;    SSL_CTX *ctx;    SSL *ssl;    int r;    pid_t pid;        /* Build our SSL context*/    ctx=initialize_ctx(KEYFILE,PASSWORD);    load_dh_params(ctx,DHFILE);    generate_eph_rsa_key(ctx);        sock=tcp_listen();    while(1){      if((s=accept(sock,0,0))<0)        err_exit("Problem accepting");      if(pid=fork()){        close(s);      }      else {        sbio=BIO_new_socket(s,BIO_NOCLOSE);        ssl=SSL_new(ctx);        SSL_set_bio(ssl,sbio,sbio);                if((r=SSL_accept(ssl)<=0))          berr_exit("SSL accept error");                echo(ssl,s);      }    }    destroy_ctx(ctx);    exit(0);  }

⌨️ 快捷键说明

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