TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13
1 h# Q! ]$ t8 _3 U0 L
* H' |1 V- g D" {+ h& k/ ~
% Q9 m( T0 E! Ousing System;/ _8 s0 l/ F, b. M/ @
using System.Threading.Tasks;
7 u8 C' g, b9 D2 j# Ausing HPSocket;! h+ i5 L- O6 d2 J7 c, Y* n5 a5 t; v& f
using HPSocket.Ssl;1 c3 \* L) _1 ]( l+ d- M& p9 K" v
using HPSocket.Tcp;$ U, m. E$ @" s$ E) a: O3 G
9 p+ ^* s. d" @( A% E
namespace SslServerDemo
9 B7 ]4 ^# V8 i+ B5 O6 O$ [8 G& H{. [8 h' a4 l, O% ^, u. D8 r+ a9 D
class Program
2 v& j: J/ I: t1 m& N* p5 x {% N/ g6 p B$ T7 T% e
static void Main(string[] args)2 ~1 j- j/ b1 H) Z$ Q2 G
{" ]' ]! O6 S8 I" J: u$ O- V
// 创建SSL服务端 h8 M7 m1 B5 e& u# X: V% N9 @
//var server = new SslServer();3 L. _! ^) B [' x6 i% u R
ISslServer server = new SslServer(); ( T' J* k* ^+ I0 g$ _/ d1 b! j& y4 w
9 X* y+ u' s. N1 r& V
// 设置证书和私钥" g* U5 H k* I; k; a
# o$ v* z) w) ?5 n4 t server.Initialize(false);
3 D& O9 `( ?5 E' K/ a) a server.VerifyMode = SslVerifyMode.None;
7 l9 [- V. `7 }6 {9 J/ T/ {7 n server.PemCertFile = "D:/cxiapu/zs/server.crt";4 Z0 c* f0 a3 C! n
server.PemKeyFile = "D:/cxiapu/zs/server.key";' _) z( W- S7 g* t- `& a5 f9 A
server.KeyPassword = "mwyfeeq568";- p& }* F& _' b/ p/ n" i: A, S$ }! E- m( \
server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";7 ~ r( p& y# c5 V3 r
. ^3 J( y4 ]6 l5 t7 K; | //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");
+ Y J; Y( n4 l) I% H! b server.Address = "0.0.0.0";/ q8 ~8 ~' N# L% ?2 [
server.Port = 5001;5 b' n1 g1 ]6 F# n8 T
9 F) x4 d' L1 Q2 D
// 启动服务端/ e9 U0 p3 g9 u- B; w" e
Console.WriteLine(server.Start());
2 g h$ \4 [: G4 `( q* p Console.WriteLine("SSL服务启动 127.0.0.1:5001");( v7 g. f" L! b1 i2 x4 P
8 C7 V+ T" k9 N t
7 z$ h( ? x9 {2 o! Y- }& ?8 J Z" @1 r& N. {, r) _
9 T; q( M( r2 V* l7 B. Z
8 A3 ~4 W$ i7 ~ // 设置事件回调
1 X0 ^- R& b4 O5 Z7 P$ ]( ~
& H+ Y4 ?1 E/ T) G5 U, N server.OnSend += (sender, connId, data) =>; Y# n9 f7 B" h0 N) O3 { ^& K. {
{) k' z4 C/ c8 V0 t
Console.WriteLine("发送事件");! \) u; A( w# Y7 E8 i
" p, i2 E; r# d T
( Y: b0 O# @" v8 G, E0 t9 o return (0); 3 W- Z" K$ {4 z O4 k
};
' P6 m: I- S* a7 p/ y m9 h# H* o+ r. }% H: X |# y. F/ X' {; p
server.OnHandShake += (sender, connId) =>( X5 w" ?- U- F& O K
{
# I+ I0 Z9 q+ @6 S+ l& e
' }3 Y) \' \, Y' D' k/ v1 b; Z Console.WriteLine($"握手事件");
' g9 u: Y: d8 L: i/ D, Q/ m return (0);
- _& q# C" b! L6 C2 H6 V, h };+ A: {" ^: v' Y
1 P: { ~1 `! Y {
p8 p- y% K& E3 X4 R L$ o
server.OnAccept += (sender, connId, client) =>- v) p. J# j9 K. z5 b3 D# R E2 `
{: O% F: z! `6 u- g9 r
Console.WriteLine($"客户进入: {connId}");
7 t9 k- O0 K) L4 ~, h2 k5 {5 y# Z' V0 D+ G
// 发送欢迎消息给客户端 p3 ]5 s; `9 h1 V) V7 F- m7 _
, S* G# P: Y% M" ~1 i5 q
( g, M u( t2 h2 k //server.Send(connId, "Welcome to SSL server!");
/ j+ f3 S1 t# y) N4 E; j return (0);0 n6 w' f8 G2 A$ g6 e, i+ o$ F
};/ Z! D$ B$ [! V. @
server.OnReceive += (sender, connId, data) =>* p4 V( N: a9 D( ]) J
{
% N6 F2 q5 F% d8 E1 A Console.WriteLine($"数据到达: {connId}, data: {data}");
1 i) Y% f% m% o6 }8 q return (0);
1 _" l1 l/ {. e2 I3 C };
, q4 I& I( L& N/ I% g server.OnClose += (sender, connId, operation, errorCode) =>+ o, S2 B0 I9 D
{6 R. X0 E2 g0 r$ ?! m% ~
Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");
6 I8 v; h$ @9 @/ }
$ ~; L$ [ u8 z* ] return (0);
+ a6 }& Y" a/ @* S4 l( Z8 I% ~ };$ C* B( s+ V+ k! c5 i
5 w8 l% W, x6 H& c D6 Z
* H) o1 i3 S/ o0 X
1 W6 |% b6 _ |1 b
9 ~7 N* |/ e$ ~, V- p " s& A/ r5 F9 Y' {9 @3 V
0 r' T' p( C$ w* S/ [" i
// 等待客户端连接并收发数据5 C3 j0 v$ u: I, Z# v, U% f
Console.ReadKey();
$ R! t7 H9 ~+ \, L( U/ W$ N
! O7 t8 N& d% ]: k( A( k8 c) D // 停止服务端
' @$ d7 [+ ?7 y# q: e server.Stop();
1 z/ I( e- t0 ]; p1 I }
6 e" k# P, t' y6 U7 S- q: X }
# ^( R9 C- Q- A/ H) g}4 e+ T! R/ S1 Z
. H, }0 q H9 L: c- J3 u0 ]
) F2 a9 V- V4 u6 A& e$ V2 `4 h [
|