找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2023-4-19 14:05:32 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13
( O) Q9 L( h$ R4 O
/ d# d# j$ C2 W! l- C- u+ ?1 T" H/ g6 g2 _& y* g
using System;4 t9 S- O! D* G  x% M. }
using System.Threading.Tasks;
8 q( ]0 t2 m: V6 lusing HPSocket;: [3 `6 u  t! ]! W# x
using HPSocket.Ssl;- [* M7 J" o* C4 X2 p
using HPSocket.Tcp;
9 G) [  K" r1 H/ \3 Q: x% j7 K  n' I
namespace SslServerDemo
. r* h/ X* j, H. L" w{$ K2 j4 P$ }* O
    class Program
' P$ O8 ?- U" Q& e1 |    {
4 t3 j: Y8 g$ }; ^        static void Main(string[] args)( L. p) ^4 v3 ^; n, p8 R+ I
        {
& |* T3 m, ^+ k* f% ^            // 创建SSL服务端/ F: K. @$ M5 E/ T+ V
            //var server = new SslServer();
! r* y" j# i! ?2 V% _$ l! N' W# N            ISslServer server = new SslServer();
# J5 J- g! ~$ X) \, v: g+ ?
* H; r$ V- p* \/ W- }" d3 ^            // 设置证书和私钥. w0 j7 }5 r8 b5 X, x8 j2 C: W2 U5 Y
           
$ ~/ ?, b5 f8 r6 e            server.Initialize(false);
- a: |$ b6 i4 L1 @; g2 F            server.VerifyMode = SslVerifyMode.None;* [9 _+ I. `3 Y4 c
            server.PemCertFile = "D:/cxiapu/zs/server.crt";5 {1 v  `8 E2 H6 c9 f
            server.PemKeyFile = "D:/cxiapu/zs/server.key";
8 j/ |) i/ Y% V1 d( q! i/ w            server.KeyPassword = "mwyfeeq568";
% W. t1 f* c( n" I0 t            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";
4 N0 t% x0 M, G5 x, O4 @3 W' G/ K" M5 P6 u
            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");
& `8 s5 W- p+ \& N- Y            server.Address = "0.0.0.0";( G4 B- k& O3 o, ]' Q$ h* R
            server.Port = 5001;
3 v; m$ X+ T) W" S$ q( e- w/ ]# P7 O
            // 启动服务端- H$ h+ [2 G. {. C8 h0 C/ R
            Console.WriteLine(server.Start());5 B; I- g: o5 Y
            Console.WriteLine("SSL服务启动 127.0.0.1:5001");0 w8 r+ c. W8 Z7 N2 W$ I

2 Q3 a5 b9 D6 G- V3 i+ W: q
5 N5 o0 O7 \$ G. V7 h7 u
6 e' v1 e$ T" U! ?  }$ k0 v) s0 i: y0 I1 G

- T- i$ G! h8 ~            // 设置事件回调
4 F5 Z% Q( }3 f- v9 O# X$ ?4 T8 e7 Y( W1 d1 G& D3 T0 m
            server.OnSend += (sender, connId, data) =>. c; |. E  r7 U. D
            {0 Y, m+ a( i- h& h3 ?: x/ l
                Console.WriteLine("发送事件");  N# Z0 R% \: z$ k
7 C7 H' y/ o% F; Y) G7 w. F
) G5 B" T2 S) `( }
            return (0);   
8 q( ?7 B! t+ B: x( I            };5 u1 \  a) Y9 K: {; A* ^  L
3 N  k* c8 o  P& l6 |
            server.OnHandShake += (sender, connId) =>
# D3 ]6 [, Z( f- D+ T' ^% _% b+ q/ ]            {. l/ ?0 S: {2 d" O* w1 M8 H

  j* k( d$ U4 ^                Console.WriteLine($"握手事件");) |' v3 Q# `2 j
                return (0);/ h/ ]' ^7 P6 {& |1 T- e
            };" V& B- \: J% P3 s  Q

& i' C1 s& G9 U3 w9 e
( }  z1 @# k' t% [- l) o2 I' O. p            server.OnAccept += (sender, connId, client) =>: \1 b: Y) J/ g+ b' Q3 H& s
            {& ?2 A" Z0 I- ?% I, l% o
                Console.WriteLine($"客户进入: {connId}");
1 ~& N" g! D! l% H( E5 C" x
3 q2 Z, K7 A7 L* J                // 发送欢迎消息给客户端9 I& U% U& B' C

4 a( A5 K! {! V7 \4 @+ k9 ^" r
- Y4 i' h' R# G# M5 Z% c+ z5 i' t9 ]                //server.Send(connId, "Welcome to SSL server!");
* P# Z2 ?$ g  O                return (0);6 G* P( J2 x+ {; {- }/ r$ O! B8 H
            };
. ^4 s( @% a# \# z0 a            server.OnReceive += (sender, connId, data) =>
" Y# ?- M- v$ D8 I) i6 m2 }2 a+ P            {5 o' C7 O8 U1 Y* l8 c  e
                Console.WriteLine($"数据到达: {connId}, data: {data}");
# Y8 ?4 y  }. Z0 |' G                return (0);
. c( f1 k% W3 C9 }  m: d; J            };
. `( ^8 S( `- @/ a. s* X4 u/ d1 W            server.OnClose += (sender, connId, operation, errorCode) =>
( k2 Q% S/ k" Z' l3 k7 ~' j            {
( V1 o: X& @/ D                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");
/ z  ]9 \+ E% f* @; ]                 
1 t: J/ g" n! v4 B# j8 V                return (0);
/ N3 o' s0 z" j+ m9 L            };. o7 M& `0 d5 o( O" S

5 O  p! X# }, K5 o  m3 Y, w' e" \8 s' X9 e6 J; y! }

$ c5 P' o& f+ n6 E  f) L
% u" X: _, l$ c5 j 3 c5 @5 b" r9 F0 z' {9 w( i. P
9 U! p. `9 f( S) p) r4 W) v6 M
            // 等待客户端连接并收发数据( u( q! V; K5 F# B/ y3 p
            Console.ReadKey();; I- n$ ~3 I2 X: a
8 u$ u! Z$ S! w4 o$ K7 S
            // 停止服务端
2 E# q% k/ i7 z) @            server.Stop();$ Q  t# @  l/ O2 O/ I! j) U" P
        }
9 V' T/ l2 R! ~) M' ]    }
3 r5 l. G: X' B$ q}
; K& X; i' V+ Q: h4 l& @3 ]8 }" }% D  q" Y! d3 n, g
7 ]5 D1 ]2 ?! G" b

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

本版积分规则

关闭

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

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

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

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