当前位置: 首页 > news >正文

网站开发后端语言有哪些跟我学seo从入门到精通

网站开发后端语言有哪些,跟我学seo从入门到精通,seo网站诊断方案,返利淘客网站源码文章目录 openssl3.2 - 官方demo学习 - saccept.cEND openssl3.2 - 官方demo学习 - saccept.c 建立TLSServer(使用了证书, 和证书中的私钥), 接收客户端的连接, 并将客户端发来的信息打印到屏幕 笔记 /*! \file saccept.c */ /*! \brief 建立TLSServer(使用了证书, 和证书中…

文章目录

    • openssl3.2 - 官方demo学习 - saccept.c
    • END

openssl3.2 - 官方demo学习 - saccept.c

建立TLSServer(使用了证书, 和证书中的私钥), 接收客户端的连接, 并将客户端发来的信息打印到屏幕

笔记

/*! \file saccept.c */
/*! \brief 建立TLSServer(使用了证书, 和证书中的私钥)接收客户端的连接, 并将客户端发来的信息打印到屏幕 *//** Copyright 1998-2017 The OpenSSL Project Authors. All Rights Reserved.** Licensed under the Apache License 2.0 (the "License").  You may not use* this file except in compliance with the License.  You can obtain a copy* in the file LICENSE in the source distribution or at* https://www.openssl.org/source/license.html*//*-* A minimal program to serve an SSL connection.* It uses blocking.* saccept host:port* host is the interface IP to use.  If any interface, use *:port* The default it *:4433** cc -I../../include saccept.c -L../.. -lssl -lcrypto -ldl*/#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
#include <openssl/err.h>
#include <openssl/ssl.h>#pragma comment(lib, "libcrypto.lib")
#pragma comment(lib, "libssl.lib")#include <openssl/applink.c> /*! for OPENSSL_Uplink(00007FF8B7EF0FE8,08): no OPENSSL_Applink */#define CERT_FILE       "server.pem"static volatile int done = 0;void interrupt(int sig)
{done = 1;
}// linux才有的信号处理, VS2019中没有
#ifdef __unix__
void sigsetup(void)
{struct sigaction sa;/** Catch at most once, and don't restart the accept system call.*/sa.sa_flags = SA_RESETHAND;sa.sa_handler = interrupt;sigemptyset(&sa.sa_mask);sigaction(SIGINT, &sa, NULL);
}
#else 
void sigsetup(void) {}
#endif // #ifdef __unix__int main(int argc, char *argv[])
{char *port = NULL;BIO *in = NULL;BIO *ssl_bio, *tmp;SSL_CTX *ctx;char buf[512];int ret = EXIT_FAILURE, i;if (argc <= 1)port = "*:4433";elseport = argv[1];ctx = SSL_CTX_new(TLS_server_method());if (!SSL_CTX_use_certificate_chain_file(ctx, CERT_FILE))goto err;if (!SSL_CTX_use_PrivateKey_file(ctx, CERT_FILE, SSL_FILETYPE_PEM))goto err;if (!SSL_CTX_check_private_key(ctx))goto err;/* Setup server side SSL bio */ssl_bio = BIO_new_ssl(ctx, 0);if ((in = BIO_new_accept(port)) == NULL)goto err;/** This means that when a new connection is accepted on 'in', The ssl_bio* will be 'duplicated' and have the new socket BIO push into it.* Basically it means the SSL BIO will be automatically setup*/BIO_set_accept_bios(in, ssl_bio);/* Arrange to leave server loop on interrupt */sigsetup();again:/** The first call will setup the accept socket, and the second will get a* socket.  In this loop, the first actual accept will occur in the* BIO_read() function.*/if (BIO_do_accept(in) <= 0)goto err;while (!done) {// 阻塞的读i = BIO_read(in, buf, 512);if (i == 0) {/** If we have finished, remove the underlying BIO stack so the* next time we call any function for this BIO, it will attempt* to do an accept*/printf("Done\n");tmp = BIO_pop(in);BIO_free_all(tmp);goto again;}if (i < 0)goto err;fwrite(buf, 1, i, stdout);fflush(stdout);}ret = EXIT_SUCCESS;err:if (ret != EXIT_SUCCESS)ERR_print_errors_fp(stderr);BIO_free(in);return ret;
}

END

http://www.fp688.cn/news/152488.html

相关文章:

  • 网站建设很简单冯站长之家官网
  • 龙岗永湖网站建设什么是营销
  • 全国企业注册官方网深圳推广优化公司
  • 专门做网站公司网站建设企业咨询
  • 免费源码大全网站优化 seo和sem
  • 卢湾做网站百度地图排名怎么优化
  • 网站图片快速加载汕头网页搜索排名提升
  • 如何在百度上做公司做网站手机建站系统
  • 无忧网站建设费用优秀网站网页设计图片
  • 化妆品设计网站百度搜索风云榜手机版
  • wordpress登录页面云南网络营销seo
  • cms是网站吗网站seo平台
  • 苏州手机网站搭建怎样做网站推广啊
  • 网站推广ww百度度小店申请入口
  • 枣庄做网站公司长春百度推广公司
  • 宣传类的网站怎么做网络营销的三种方式
  • 网站建设色彩新软件推广
  • 网站建设石家庄快优如何在网上推广自己的公司
  • 自己电脑做网站模板百度竞价推广投放
  • 模板网站做外贸好不好网络推广公司主要做什么
  • 如何做中英版网站免费直链平台
  • 基于java的网站开发使用网站模板快速建站
  • 成都哪里可以做网站找平台推广
  • 政府蒙古文网站建设汇报百度推广官方
  • 可做ppt的长篇英文阅读网站百度登录入口官网
  • 国外房屋设计网站企业营销策略有哪些
  • 芜湖北京网站建设建立一个国外的网站
  • 建h5网站费用网站建设制作流程
  • 精致的个人网站关键词排名点击软件首页
  • 优秀wordpress主题网站优化+山东