5.5 KiB
5.5 KiB
TestEcho-SSL-Console 快速使用指南
编译步骤
方法1:使用Visual Studio 2022
-
使用VS2022打开解决方案文件:
e:\开发\C_C++\hp-socket-6.0.4\hp-socket-6.0.7-src\Windows\Demo\TestEcho-SSL-Console\TestEcho-SSL-Console.sln -
选择配置:
- 配置:Debug 或 Release
- 平台:x64(推荐)或 x86
-
点击菜单:生成 -> 生成解决方案 (或按 Ctrl+Shift+B)
-
编译完成后,可执行文件位于:
- Debug x64:
e:\开发\C_C++\hp-socket-6.0.4\hp-socket-6.0.7-src\Windows\Demo\Debug\x64\ - Release x64:
e:\开发\C_C++\hp-socket-6.0.4\hp-socket-6.0.7-src\Windows\Demo\Release\x64\
- Debug x64:
方法2:使用命令行编译(需要配置VS环境)
打开 x64 Native Tools Command Prompt for VS 2022:
cd /d "e:\开发\C_C++\hp-socket-6.0.4\hp-socket-6.0.7-src\Windows\Demo\TestEcho-SSL-Console"
msbuild TestEcho-SSL-Console.sln /p:Configuration=Release /p:Platform=x64
运行步骤
第一步:启动服务器
打开命令提示符窗口:
cd /d "e:\开发\C_C++\hp-socket-6.0.4\hp-socket-6.0.7-src\Windows\Demo\Debug\x64"
TestEcho-SSL-Console-Server.exe
你将看到:
========================================
HP-Socket SSL Server 控制台演示程序
========================================
[服务器] 正在初始化SSL环境...
[服务器] SSL环境初始化成功
[服务器] 正在启动服务器...
[服务器] 准备监听: 0.0.0.0:5555
[服务器] 服务器启动成功,监听端口: 5555
[服务器] 按 'Q' 键停止服务器...
第二步:启动客户端
打开另一个命令提示符窗口:
cd /d "e:\开发\C_C++\hp-socket-6.0.4\hp-socket-6.0.7-src\Windows\Demo\Debug\x64"
TestEcho-SSL-Console-Client.exe
你将看到:
========================================
HP-Socket SSL Client 控制台演示程序
========================================
[客户端] 正在初始化SSL环境...
[客户端] SSL环境初始化成功
[客户端] 正在连接服务器 127.0.0.1:5555 ...
[客户端] 连接成功: 本地地址=127.0.0.1:xxxxx
[客户端] SSL握手完成
[客户端] 已连接到服务器,可以开始发送消息
----------------------------------------
命令菜单:
1 - 发送 'hello' 到服务器
Q - 断开连接并退出
----------------------------------------
请输入命令:
第三步:测试通信
在客户端窗口中:
-
按键盘上的
1发送消息到服务器客户端显示:
1 [客户端] 发送消息: "hello" [客户端] 收到服务器响应: "hello!"服务器显示:
[服务器] 客户端连接: ID=1, 地址=127.0.0.1:xxxxx [服务器] SSL握手完成: ID=1 [服务器] 接收到消息: ID=1, 内容="hello from client" [服务器] 发送响应: "hello!" -
按
Q键退出客户端 -
在服务器窗口中按
Q键停止服务器
测试场景
场景1:基本的消息收发
- 启动服务器
- 启动客户端
- 在客户端按
1发送消息 - 观察服务器收到 "hello from client" 并返回 "hello!"
- 观察客户端收到服务器的 "hello!" 响应
场景2:多次发送
- 启动服务器和客户端
- 在客户端多次按
1键 - 每次都会发送消息并收到响应
场景3:客户端重连
- 启动服务器
- 启动客户端并发送消息
- 关闭客户端(按 Q)
- 再次启动客户端
- 继续发送消息
常见问题
Q1: 编译时找不到OpenSSL库
问题:编译错误提示找不到 libssl.lib 或 libcrypto.lib
解决方案:
- 检查路径
e:\开发\C_C++\hp-socket-6.0.4\hp-socket-6.0.7-src\Windows\Dependent\openssl\v143\x64\lib\是否存在 - 如果不存在
v143目录,可能需要调整项目文件中的OpenSSL路径 - 检查是否有其他版本的工具集目录(如 v142, v141等)
Q2: 运行时找不到DLL
问题:运行时提示找不到 libssl-3-x64.dll 或 libcrypto-3-x64.dll
解决方案:
- 将DLL文件从
Windows\Dependent\openssl\v143\x64\bin\复制到程序所在目录 - 或将该bin目录添加到系统PATH环境变量
Q3: 服务器启动失败,端口被占用
问题:服务器启动失败,提示端口5555已被占用
解决方案:
# 查看端口占用情况
netstat -ano | findstr 5555
# 如果需要,结束占用端口的进程
taskkill /F /PID <进程ID>
Q4: 客户端无法连接服务器
问题:客户端连接超时
解决方案:
- 确认服务器已经启动
- 检查防火墙是否阻止了连接
- 确认服务器监听的是 0.0.0.0:5555
- 如果是远程连接,修改客户端代码中的
DEFAULT_ADDRESS
代码自定义
修改监听端口
编辑 Server/main.cpp:
static const USHORT PORT = 5555; // 修改为你想要的端口
编辑 Client/main.cpp:
static const USHORT DEFAULT_PORT = 5555; // 修改为与服务器相同的端口
修改服务器地址
编辑 Client/main.cpp:
static const LPCTSTR DEFAULT_ADDRESS = _T("127.0.0.1"); // 修改为服务器IP
自定义消息内容
编辑 Client/main.cpp,在 if (ch == '1') 代码块中:
std::string message = "hello"; // 修改发送的内容
编辑 Server/main.cpp,在 OnReceive 方法中:
std::string response = "hello!"; // 修改响应的内容
技术支持
如有问题,请参考:
- HP-Socket官方文档
- README.md 完整说明
- Windows\Demo\TestEcho-SSL\ 原始示例项目
祝使用愉快!