找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2023-4-19 14:05:32 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13
* L7 O+ |: C0 s3 v" r* C$ W' F6 }) g! [- q

# G* f* \6 a  k' N/ S4 ?using System;
0 K. t4 V& |4 E7 \, [4 @using System.Threading.Tasks;: A+ ], f. U+ ^. ~* V) A
using HPSocket;
' x6 v+ N( f1 q. }using HPSocket.Ssl;+ i, D& r( t  S4 n
using HPSocket.Tcp;
4 C8 Q/ J& C; t8 \+ l) S3 y7 Y
- a9 B% g# Q3 P% Q9 ]namespace SslServerDemo
5 h1 s" B/ P7 E. i{
" H8 E. z* d2 ^6 H$ d% ^    class Program
) r3 q, E& p5 c/ f/ s    {/ r' I9 o: o, X" t9 l9 k0 T
        static void Main(string[] args)
/ I/ y+ A9 j1 v0 ~        {! P3 p+ ^* _0 w0 l: V" i4 ^
            // 创建SSL服务端8 G$ `0 ]5 A: k- b  a/ q) d$ b, y
            //var server = new SslServer();  F1 @5 T$ J+ K+ K8 j2 m  L# v
            ISslServer server = new SslServer(); ) l; ^$ T6 a- Z
& z" M" {4 `# L2 z  P; P! m
            // 设置证书和私钥; U0 Z2 W8 b: O0 T
           6 x% O8 t0 o: Z
            server.Initialize(false);
7 n* O& Q' T3 j            server.VerifyMode = SslVerifyMode.None;) l6 ]$ w; v" R# {5 X% m
            server.PemCertFile = "D:/cxiapu/zs/server.crt";6 v' U) F3 |) X: g* n) p. i
            server.PemKeyFile = "D:/cxiapu/zs/server.key";
, m! e; |3 Z: q9 T' x, F  ~( _) L: L4 R            server.KeyPassword = "mwyfeeq568";
9 G1 X% |: g$ L4 _            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";
6 X( h% J! J  i  M- y# l$ V3 a' `( [/ x  _" L; P
            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");
5 [, q! D" e( X$ z2 i            server.Address = "0.0.0.0";4 J3 H, Q3 |5 }
            server.Port = 5001;  h4 K' i1 j( k! Z

# _+ L7 l% X  L$ B, b. ?            // 启动服务端0 l' Z" f. {5 e" }% O
            Console.WriteLine(server.Start());
$ Y1 N. G9 y" ~            Console.WriteLine("SSL服务启动 127.0.0.1:5001");) o6 h" [+ D8 @8 `& R3 X+ B- }
) l% y: S1 j, z" a" D: s

# D9 e; W9 F) g, x: B' K) M, x2 V) S! G6 _' s/ e6 W
! t) P) f1 y  e& ?" X

+ V4 W& J. t5 |+ Z+ N            // 设置事件回调
7 Q# F; _, Z( Y, ]( W# y' W; [/ A# t6 K  Z4 T
            server.OnSend += (sender, connId, data) =>! q: n8 E  G# K+ `( X( {% t! T
            {
" S& I% w4 j( ^% t/ n                Console.WriteLine("发送事件");
7 O+ _5 b; z( I! Z0 h4 P3 W% k+ R. v: |5 h: m9 M
6 l( I  _8 H  y, ]) @4 _" }
            return (0);   
5 Z4 c% K; k; J: K/ o            };
% L9 n' d+ w4 }) n. }& \9 _8 l7 x8 o+ C5 Z8 Y. {2 z6 Q8 l) Q
            server.OnHandShake += (sender, connId) =>2 x4 g2 y6 r& ]$ Y  W
            {
9 w% E0 r8 F% f6 k# F
- ?% K9 J/ h8 W& `7 ?                Console.WriteLine($"握手事件");
+ r5 n# t8 u  A( L& I! M                return (0);6 {) O: C% C3 _- p/ U1 w. w% n
            };
4 u6 @3 o" x* x. y8 X# B
& v' F1 m3 G. Z% E, `9 o1 a9 ]$ }- A
            server.OnAccept += (sender, connId, client) =>
8 q- s+ D( _7 r4 Z5 X1 C, F7 i, F            {
% |/ X0 ~& ], b0 m; n7 G                Console.WriteLine($"客户进入: {connId}");, G. p1 v5 w/ @1 g& W5 s

) V( F) O3 s6 Y/ w                // 发送欢迎消息给客户端" [0 d7 a$ M0 |6 f, W2 }# j
) |- b( w' Q3 A% i% m' M! ?

: J& G9 }) x  `& ]2 s                //server.Send(connId, "Welcome to SSL server!");
! Y0 f2 B+ z, x! @- ?, U7 O# g6 I                return (0);! V$ [5 i: }  n1 ?8 s1 g0 h* C
            };# {  O+ y$ w8 P# j! [
            server.OnReceive += (sender, connId, data) =>
2 y4 I! G9 S" O  H. z+ s* ~            {0 S6 q1 m5 }+ u, ~2 _
                Console.WriteLine($"数据到达: {connId}, data: {data}");
9 a* E% M0 Z' V# l! u8 E                return (0);
, O) T$ l) D% t- z: ^6 d            };
) S( C9 B2 p, M+ }6 d& n0 V( O            server.OnClose += (sender, connId, operation, errorCode) =>: ], _) ^2 H* _! z& c( ^
            {
! l) T' }0 N6 p5 ^% q                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");! ]6 e& o# C/ i  }% J0 b
                 
1 @$ @5 s, X! {8 e; J; Z                return (0);
, b) B8 {9 I( x' F, X% q3 z" ]4 o            };  {% V- c! V: M* j
9 L* ?/ B$ m3 y  x: U! O
0 H, ]$ Z6 ?! G5 ]7 U' H& n& ^

0 N* z9 k# G; f! Z/ J8 X+ G, A$ P6 B( H
$ H2 O' F  D7 q( x2 m5 a$ p! m8 U

5 Y% `- [1 @, P! Z2 _8 t5 \            // 等待客户端连接并收发数据! {/ z5 R% o$ x/ p  g# x
            Console.ReadKey();# h0 ^. w$ R' c, K4 j
5 E% o: a1 Z: L- u7 J
            // 停止服务端
6 \: \$ }# k8 c& R+ U. N            server.Stop();
# P/ k- M7 e4 M$ Q% \, m; ^        }1 k. c$ t3 @  ~, u/ a
    }( H# g' ~$ [. G$ {: x6 F
}2 T7 s( z+ ]4 ]6 U

! Y, O0 v) O! C
. i3 S8 j1 G/ h6 j4 m4 D, l

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

本版积分规则

关闭

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

QQ|Archiver|手机版|小黑屋| HPsocket-国产高性能通讯框架

( 豫ICP备19038015号-1 ) GMT+8, 2025-9-16 07:49 Powered by Discuz! X3.5 *// |网站地图

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