找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2023-4-19 14:05:32 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13
% Z% @4 A/ R, N6 t3 s
9 \" D" h  H6 ^, ]& O4 B) E+ l7 o8 f0 s
using System;" l: }2 a' ~/ I
using System.Threading.Tasks;
1 A  t2 }5 d  Y* B' X8 l" J# o& zusing HPSocket;2 H- B1 j/ D! h$ y1 \! T( C& u
using HPSocket.Ssl;* q& Q5 i8 {5 y, `; ]
using HPSocket.Tcp;
2 {' V  J6 r! o6 ^9 t9 h
2 j- s5 N  E- I5 T. M  Y  gnamespace SslServerDemo
8 G8 A4 t; V* S. L% Q4 o{
6 o$ J; t! P" c' G: x    class Program* }4 K2 q0 D' d& ]
    {
, O5 Q1 n! N4 s7 J9 W0 J        static void Main(string[] args)  d6 f& Y) `% E! _7 i
        {
9 A( t  F: B( A3 _( \9 _& A            // 创建SSL服务端- b' i# O$ x( X/ E/ K
            //var server = new SslServer();1 ^: B, U" Z% F6 b( \' s
            ISslServer server = new SslServer(); 0 E: w6 {0 c% M. ?

/ J! L; e7 o4 l# c            // 设置证书和私钥
* y& S4 \# u. j$ T& H" ]           ( ~8 j  H9 r: }
            server.Initialize(false);
7 H2 x+ z. F0 n3 ]            server.VerifyMode = SslVerifyMode.None;
! z! e  A# t; b" M            server.PemCertFile = "D:/cxiapu/zs/server.crt";' ^: a0 g! H% C
            server.PemKeyFile = "D:/cxiapu/zs/server.key";; Q: g& E0 S* l& g
            server.KeyPassword = "mwyfeeq568";4 b* W/ z: `2 [* q8 t2 z
            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";
, O6 [; C0 H/ I6 p7 Z* u6 j# D  x0 ]* V" ^
            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");
- `1 g4 Z- e$ T+ F. {% y: n            server.Address = "0.0.0.0";/ r! n9 N' h4 T
            server.Port = 5001;+ Y2 I- }7 j( p" b" o
0 k% a* [( t% `
            // 启动服务端
  `9 S, ^$ J4 P; M1 }            Console.WriteLine(server.Start());
: T- b+ |3 f3 S( o$ d0 W            Console.WriteLine("SSL服务启动 127.0.0.1:5001");
2 N2 l8 T/ z* R1 n( o/ s3 }" u9 S+ A! M2 K* {: D5 `
) m# T2 Y  n& }  p' I, G
" o3 `2 i, h$ J% n8 M% n# ~

% z5 l% X  X, }3 Z$ }5 C& Y0 G
/ b2 W& F% K1 T0 F! |            // 设置事件回调: q, j0 @; @3 M* J
; v* p$ M2 Y$ h" U
            server.OnSend += (sender, connId, data) =>, H: y! a+ z0 b# q7 k# k# a* \+ p- R
            {
) ]; Y9 f5 s& R- K3 ?: {                Console.WriteLine("发送事件");
0 w* X+ S5 K; H0 X3 a$ l: ?: h- {! \  i! v# Z9 N( y

9 Q+ F! x4 p- ?! I2 G+ }            return (0);    + I3 M: t" f4 {- [$ T( d0 ^  z
            };
6 J' t4 M' _; ^! B' ?0 J. D$ v
, e4 a$ U2 O) \            server.OnHandShake += (sender, connId) =>
8 q$ C0 ~6 x" p' x) M: u4 Z9 L/ B            {
0 ^  m" ~6 R1 a' |: f, t0 H8 {9 Y# o: g7 A( C, y
                Console.WriteLine($"握手事件");
9 n* o0 ^& U2 [! C                return (0);) U; m. D' T8 @  `' K3 j5 Q9 Q5 y. E0 m- l
            };
; W, k8 }2 ]+ J8 E% w+ R( n; Z" d* e

" d4 y2 y( q1 K: ]' ]( h3 o; s5 v* y            server.OnAccept += (sender, connId, client) =>5 c8 b5 V% @) e6 E8 d; }1 K: Q& ~
            {! F* A5 V- M; E+ J% P3 g
                Console.WriteLine($"客户进入: {connId}");% p( O* ~: W3 t6 E

9 S. h. _$ w  r, {8 \                // 发送欢迎消息给客户端! G' @( d4 F; ]" r

" R. ^1 S  v: p9 ?) r8 a( X7 n! e! K
8 G/ t5 P3 X8 {                //server.Send(connId, "Welcome to SSL server!");( y7 E' R. \  s' C
                return (0);6 n" X7 {4 X3 ?# B4 n2 x7 a: |
            };8 \3 L8 d  z) M4 }' Z
            server.OnReceive += (sender, connId, data) =>
- d) V, m- \& m. B9 C            {6 o9 j+ k, P  E
                Console.WriteLine($"数据到达: {connId}, data: {data}");
  x9 p% ?) m4 d8 S5 Y0 v' g                return (0);
7 a, D+ u% X: {            };( j: h2 o7 @, a; C/ |) Q! n, M
            server.OnClose += (sender, connId, operation, errorCode) =>3 q  w* F7 t# s* Y& r: Y8 a/ V
            {
' e! [# U8 I4 b- w# p                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");
  x/ L/ k% {  M                 ! h7 [! Z/ s+ Q
                return (0);. P6 V# l# i2 m* |* Y
            };$ W# P: r8 B. Y3 R' c
; X5 f) z* P% _5 D1 }' Z, }! l
( x$ q: A+ k5 _

7 P$ v8 P' g4 ]# P5 C) Q. q5 ?$ r- [; v& Z

' s0 M  E6 f4 R$ k; M7 |; |( l2 L4 m$ U2 V0 r' B1 v" j3 @
            // 等待客户端连接并收发数据
, d' P6 u6 ^+ z4 A; L- _            Console.ReadKey();2 z# n" f5 {/ G1 e* t

- p8 r4 o% j$ Q: \6 c' j* O. y            // 停止服务端) O, T) c/ P6 p% F) Y+ k
            server.Stop();
& E! X( `* D" i; }! Q/ j        }1 I4 e2 |/ L) z( j8 Y
    }( j) k: E! T5 Y  X' l$ S
}
7 v& c- v/ n/ }) \7 l7 l4 z$ S8 E. ]. v" p9 }  f

/ ^- M( ~; C: {( U# `

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

本版积分规则

关闭

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

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

( 豫ICP备19038015号-1 ) GMT+8, 2026-1-8 01:08 Powered by Discuz! X3.5 *// |网站地图

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