找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2023-4-19 14:05:32 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13$ M3 t/ o1 z# A7 {

  @$ y5 W% k+ \4 I( z
6 k! ?. g( l$ l! [" j, Pusing System;  U' Z5 M3 @* O* z
using System.Threading.Tasks;
- c% m* z5 G) i1 D8 w& d1 Xusing HPSocket;
# h2 U7 o1 e1 Z( w6 }4 a1 V/ Tusing HPSocket.Ssl;
9 z" x# J' p! ^& W( |. I" U: lusing HPSocket.Tcp;
0 Z$ E2 i1 h" p; R( l
8 @8 z- w9 U7 A  G% R+ Anamespace SslServerDemo1 [3 z0 ^3 r3 {2 q
{
" E/ |$ V  j2 N    class Program
: s! K7 K/ t+ M' l4 S    {8 r' Z  |& b  G, e
        static void Main(string[] args)
. T* ?9 L; Y8 A- C* J        {
/ O. V% ]! m: M( B( e' T            // 创建SSL服务端
% ^# J* U  ^( u- u& S, w0 J5 P( c0 n            //var server = new SslServer();
5 x( J7 B* v: O) V% z9 U8 o            ISslServer server = new SslServer();
, t5 v- R3 G2 R3 N* `4 H
4 I7 b0 ^) t# n6 p5 l2 w  _            // 设置证书和私钥+ k) P6 Q* k4 `& W2 l" q
           
  k6 n- r' j3 A* T  `# f! d            server.Initialize(false);
" O, ^% j/ [0 c8 ~7 t, a6 H            server.VerifyMode = SslVerifyMode.None;
2 @, R& L, L6 }5 V/ Y            server.PemCertFile = "D:/cxiapu/zs/server.crt";
" P% x# R; t+ f/ K. V            server.PemKeyFile = "D:/cxiapu/zs/server.key";. z3 c. r2 M- Z5 A- c/ E- U  Z
            server.KeyPassword = "mwyfeeq568";
" D, T/ `% z2 x/ ~            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";
' w$ h( n! X5 \% }
% f* k' S: m: a; A' q            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");
2 E' @' K5 U3 l/ X( j            server.Address = "0.0.0.0";$ X+ q3 Z8 w* p+ g
            server.Port = 5001;
6 c1 {. q* y5 a1 g8 _' B) M/ [7 M; x: c. d- H& d; Q6 {/ {  N
            // 启动服务端
1 h' G% e) v( @6 r0 K5 M            Console.WriteLine(server.Start());5 ?3 j; q! y9 b9 v' c9 O5 m* l
            Console.WriteLine("SSL服务启动 127.0.0.1:5001");
( ?% v: c' m  |1 K* [
! v9 w: ^( |/ X  s! U" V/ Q
4 T: d. F2 A( O8 o( \+ H( h% y/ a9 ^" Z: l8 `, u2 R) R$ y' Z! i
$ o& D5 U3 {& S7 B
' X% K, q& v4 K8 v
            // 设置事件回调/ _5 r8 _: D) p/ h% i* ?. Z4 d
8 K6 D, Y( m$ B1 [
            server.OnSend += (sender, connId, data) =>
: t% f$ W3 ]6 o0 B0 j8 Z            {5 _( }0 |( c1 v$ v7 O- e
                Console.WriteLine("发送事件");, T8 R* i( A* U; h

+ `% R( C7 t; h" V; x8 v' Y# Y! Q& q4 }
            return (0);   
" P4 ^1 r: C( |% R            };; l; }# z& t9 A( f& [& g' D

  h% l/ X! O3 ]            server.OnHandShake += (sender, connId) =>& i; {( e% @- G0 u! O$ u+ R
            {- G0 L0 D  O7 d& p) Y

7 N4 S8 h6 L: D; N- m6 [3 c6 C                Console.WriteLine($"握手事件");2 l  N  D. j2 `1 d; ?
                return (0);
; b% f, W9 l  \& \. |            };4 _, O! [* |/ Z5 D% W" U6 @1 d
# v: O/ z3 I  g7 d4 A

) o) U& G# K$ K# V            server.OnAccept += (sender, connId, client) =>/ F; k4 _5 W8 @. [# E5 \* z& _
            {% [0 x1 G0 `3 K% v* u( T* P3 @8 b. T1 j
                Console.WriteLine($"客户进入: {connId}");" `7 _  }9 u8 d* G0 y: N% t: X2 {
7 o* V- h. u" {
                // 发送欢迎消息给客户端
% o$ r6 t, _. S2 D: F; }7 |  R8 c6 @& n1 E) b3 O! ~* n% ~7 t
) d- A- A. |* c
                //server.Send(connId, "Welcome to SSL server!");$ O& t% B) j# t5 A/ }
                return (0);
3 k# c& F( N, {) ?0 m7 ~            };' @6 y! B+ {3 F$ M4 E4 j, q' d
            server.OnReceive += (sender, connId, data) =>
& j3 k  I1 A' }1 _" V% W            {
2 \1 n3 w0 A0 [! b                Console.WriteLine($"数据到达: {connId}, data: {data}");& w) ^; r+ V+ \  ]* \' q7 q
                return (0);
$ I" H) o, O! e            };+ b/ \, G$ X7 Y% T$ d; c& j% T( V
            server.OnClose += (sender, connId, operation, errorCode) =>/ b; c4 G8 c# G& w$ b
            {
! \8 I% L4 m; L2 R5 E                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");
6 J7 v$ C- t( Q/ w* ~" ]                 ; \' e7 q; w8 P) U/ N% f
                return (0);+ z0 l' X  W; _: u9 s$ P
            };" I' i4 B$ \- U, J- X$ [( d1 y* N
8 H" k& d: Q/ i- V; I# U
9 S" r5 z) I4 b+ P5 v6 i

$ k" u8 c! T: h1 D9 P1 {; d' }
- D- T" A2 z' m* V; J 6 ~" @1 l) Z" L# U
& r' A1 V( d, k5 y/ o6 v  D, G
            // 等待客户端连接并收发数据
* V0 k; H8 L  v8 x* h0 r- k) P  {            Console.ReadKey();
7 l$ L. W+ F" o. p. L" f
) K+ O( p* ]' Z7 t/ U/ w1 o            // 停止服务端. T! P8 t- V# L
            server.Stop();
. w, m( j  o3 @0 w3 y6 t, M& T        }
  l. y9 h! }" `  Y( W1 I. q. ~    }
7 O! H+ e6 B5 W& W' d3 m& c3 R}1 i/ a8 _' b- p. H: V5 X) O

& ]3 ~4 m: p- x* y& v) |+ r' T
2 B) P* P; z$ e& o  `

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

本版积分规则

关闭

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

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

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

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