1 Star 0 Fork 0

vfssoft / vtls

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
main.cpp 1.63 KB
一键复制 编辑 原始数据 按行查看 历史
zzrrxx 提交于 2024-01-11 23:10 . minor log update
#include <cstdlib>
#include "Socket.h"
#include "Vtls.h"
#include "utils/Logger.h"
int main() {
char* dataIn = new char[4096];
int lenDataIn = 0;
char* dataOut = new char[4096];
int lenDataOut = 4096;
int err = 0;
Logger logger;
Vtls tls;
SelectInfo selectInfo;
Socket client(0);
logger.SetLogLevel(VTLS_LOG_VERB);
tls.SetLogger(&logger);
client.SetRemoteHost("localhost");
client.SetRemotePort(9999);
if (err = client.Connect()) return err;
while (true) {
selectInfo.Set(20);
if (err = client.Select(&selectInfo)) {
return err;
}
if (selectInfo.Timeout()) {
continue;
}
if (selectInfo.Writable()) {
lenDataIn = 0;
lenDataOut = 4096;
if (err = tls.Process(NULL, &lenDataIn, dataOut, &lenDataOut)) {
return err;
}
if (lenDataOut) {
if (err = client.Send(dataOut, &lenDataOut)) {
return err;
}
}
}
if (selectInfo.Readable()){
lenDataIn = 4096;
if (err = client.Recv(dataIn, &lenDataIn)) {
return err;
}
if (lenDataIn) {
lenDataOut = 4096;
if (err = tls.Process(dataIn, &lenDataIn, dataOut, &lenDataOut)) {
return err;
}
if (lenDataOut) {
if (err = client.Send(dataOut, &lenDataOut)) {
return err;
}
}
}
}
}
return 0;
}
C++
1
https://gitee.com/vfssoft/vtls.git
git@gitee.com:vfssoft/vtls.git
vfssoft
vtls
vtls
master

搜索帮助