找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 中文模块 Demo
查看: 215|回复: 0

[C#] 谁能帮忙写一个C#调用hpsocket.net的例子啊求求了

[复制链接]
发表于 2023-4-19 14:05:32 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13
6 a1 c% R( Z0 e: i) T3 H  b
8 i1 ~6 V) \  c1 s* ?! s" a( d8 c5 s! V* w! o$ Z) U1 Z5 A2 Y+ T* Q
using System;
' |, H2 ?; B9 d' X+ F5 Vusing System.Threading.Tasks;7 n$ i1 B: f; y# s& K% M
using HPSocket;& ]/ Q/ D. E8 e+ I' Y  b6 h
using HPSocket.Ssl;, r* s* N, n) h' h" l) R; `$ t; D
using HPSocket.Tcp;$ @  b! ^: s8 h& g2 M/ M% o

& o) C$ I+ M8 i1 anamespace SslServerDemo$ z- Q4 D* L! e( f' T3 F  d
{
. J. _: k9 `% h; C" F" e# i! h    class Program! |7 _8 R9 R' Q: y
    {6 I# O2 D* Z, l
        static void Main(string[] args)
* ]0 o0 _/ ?# G* K3 I        {+ t( p/ O. w% V, |- \* o
            // 创建SSL服务端6 i. f! T. ?: y% Q- s, m2 Q
            //var server = new SslServer();
4 S8 x' T  f6 x) h, {) L7 x) A0 K* M) l            ISslServer server = new SslServer();
, }# K4 n$ B6 E5 C% q5 A; B* X
& L6 {; ]4 U& H  O# A. r            // 设置证书和私钥' I5 [+ i9 c8 \1 ~4 M. E5 Q
           $ G- d& b' _; M
            server.Initialize(false);% P9 C" H4 T) n& I: [
            server.VerifyMode = SslVerifyMode.None;
1 @+ [4 k3 @; N0 G            server.PemCertFile = "D:/cxiapu/zs/server.crt";
! T' \3 j( `. x            server.PemKeyFile = "D:/cxiapu/zs/server.key";* z2 @% e" M9 D; m& L- N6 Z
            server.KeyPassword = "mwyfeeq568";
+ G4 ?; N8 t5 t; O# m            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";/ ^7 Z4 S4 o/ g) x0 C1 D
. @# G9 c$ G8 r$ N
            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");
- e  v, a4 p2 E) {            server.Address = "0.0.0.0";4 E$ r. l: ^$ G8 n6 H; x- z
            server.Port = 5001;1 s! k! e6 K3 |& f
4 S; X/ Q1 s7 w- Y6 Y
            // 启动服务端
* Q+ k% e: @! S5 Q* M2 X7 h            Console.WriteLine(server.Start());
: M! b& I+ U2 s            Console.WriteLine("SSL服务启动 127.0.0.1:5001");  X& K7 |+ S0 Q1 R# I( A5 K8 x% P

+ t$ A9 Y: T  y) I- T2 O! r; m" q
, x* v3 q  `+ W8 ?
4 U- c4 z) E/ T; Z* s: j9 K2 S% q4 N& I2 L1 _& D. t

1 b5 J# j% c, D0 b$ u. n5 }            // 设置事件回调
! x# P- C$ p( B0 i
& @3 g- N; \, Q5 v$ S            server.OnSend += (sender, connId, data) =>. K/ z9 d: U, |* {7 z$ E. t
            {* `! g6 G4 \  Z- H6 M, ]
                Console.WriteLine("发送事件");4 W4 ^# a+ u, t$ L' L( W5 m

1 `& X: z% X& r& m& P$ v* C6 ~. ^0 c+ ^' p  `, Y) n
            return (0);    ! ~+ |( P4 @2 T0 q, w5 o
            };
( j8 s; g% p; F: x
& I1 Z- p$ f& K5 ?; E            server.OnHandShake += (sender, connId) =>3 y' E# W. j! G2 e6 {# |4 v+ V
            {  c& {/ t2 k) J  ]9 N

* u) M% z  v/ _2 c$ d6 h                Console.WriteLine($"握手事件");1 Q* h$ ?( A$ L/ F8 b
                return (0);
$ |% l8 X0 v  p+ M1 q' `3 U1 g            };$ v* x. v; a- c

* _: q1 Q, H  c; r) R
) y3 n1 `# v" @* c            server.OnAccept += (sender, connId, client) =>
( Q; o, O) V1 t# f            {
2 |/ j) U, N( {/ F! m                Console.WriteLine($"客户进入: {connId}");
  K- A3 N. N3 ^5 D( @; c& {' Q8 s+ Y1 n/ m7 ?
                // 发送欢迎消息给客户端3 ]. g! J2 L. t' L, c1 n

# Q  e  I5 T0 y& I
8 s) t9 l1 ~& x4 V# f8 b6 ]% ^                //server.Send(connId, "Welcome to SSL server!");
8 |6 w  c' D" V6 N4 R% V                return (0);
. H" y1 R! l" s            };
; S: l  `9 i7 F# O; l9 ?4 h            server.OnReceive += (sender, connId, data) =>3 f9 G, V, j: g1 m( z
            {- ]6 b; I$ X4 k
                Console.WriteLine($"数据到达: {connId}, data: {data}");
: G  |/ @% K/ b+ K$ O  J3 `* e                return (0);# P9 w6 U9 K/ K
            };
4 s% i, B+ b3 \1 M# T; k: [( y1 j            server.OnClose += (sender, connId, operation, errorCode) =>
3 h/ C) A5 e3 G+ [8 T0 Z" l& P            {
" L: i8 D. M+ M, C) w                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");( S- n7 e2 Q( ]" S
                 
. H. q5 N3 j* D3 B: O" L2 z                return (0);
+ ~7 v/ S$ T0 A) p& s" D' A+ y            };
% o1 t! l. ^5 x# @& w* A
. M1 Y4 T- p! i: ]  Z  {% e4 ]& }4 D" ?. o% B* w$ x9 C" a! f

) B4 @( O/ M% f, T' N( q$ h/ L, A" Q; w- X+ W

, Q) e% i, c. o* l9 a9 G# z& w2 |5 y
            // 等待客户端连接并收发数据
/ L" z& }. c" w: @# F. T, }            Console.ReadKey();
4 l$ }5 z! I) I" m8 M' b. h. s5 Q, _; x" q' z) ~7 H
            // 停止服务端
* S* `, A$ Z" g$ k4 q! C! A: @! @* R1 \            server.Stop();
4 ~5 k! ?7 j* C8 R7 k- L; g        }, K5 o/ F4 N( y( V* I0 L
    }. n0 W! E0 H' M/ {$ J- \- f# A
}
# {) k! L1 X5 }9 A5 H' h4 d
- K  L" I6 j' t7 R# y8 f' u4 T0 V- l. \* w! G, S5 L

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

QQ|Archiver|手机版|小黑屋| HPsocket-国产高性能通讯框架 ( 豫ICP备19038015号-1 )|网站地图

GMT+8, 2024-5-21 07:10 Powered by Discuz! X3.5 *//

快速回复 返回顶部 返回列表