找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2023-4-19 14:05:32 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13  J6 g( z! `7 \2 F3 @: m. `

  Y) i% b% A$ b6 G  m8 ^/ A7 ]. g4 c2 Q& V! K
using System;
7 Z. h5 l" O: ^: Z: U: Uusing System.Threading.Tasks;- u0 b; ]2 _  I* l
using HPSocket;
) B/ H; {8 m* R9 t/ R4 v4 ousing HPSocket.Ssl;8 l% E6 c# j* b+ a* R+ g4 I- n5 Z
using HPSocket.Tcp;6 e* Q  k, n4 t5 a9 f" V# K

) t% R; o( k+ C  |namespace SslServerDemo  b/ S* B1 K. G! L
{
* c# ]( r; d& ^9 {    class Program6 |* R$ I5 S8 P6 R: T3 ]' \& i
    {+ x" m) O1 [* E9 X) T
        static void Main(string[] args)4 G4 V# R1 X9 t; @
        {
  X. J' z/ Q- N$ A* t3 m            // 创建SSL服务端
8 O* r( v5 q" h$ n) I+ v            //var server = new SslServer();) H1 G* u+ n" Z/ Q
            ISslServer server = new SslServer();
1 E7 R8 z7 L6 l# u' C! j: Q- U- l, t$ G8 j5 C/ n
            // 设置证书和私钥7 D- Y6 j4 X9 X( Z2 U. E' Q! J
           1 n& }1 R6 _, {
            server.Initialize(false);9 b) o- a. e. A% a7 p
            server.VerifyMode = SslVerifyMode.None;
9 U: Z: z/ c7 G1 @, V5 G2 {$ A            server.PemCertFile = "D:/cxiapu/zs/server.crt";
) X' r" J3 I! ?            server.PemKeyFile = "D:/cxiapu/zs/server.key";
4 G1 r" T- z& a6 k+ w8 F            server.KeyPassword = "mwyfeeq568";& z, I, L6 T+ r9 @
            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";
; A* C' w( h3 n1 G! ]
7 ]+ M$ E& ~) D& ?( o( N% q9 ~            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");
7 _2 J7 f) E- p& M' [5 L            server.Address = "0.0.0.0";$ S- q) q: m+ a
            server.Port = 5001;
# M" S$ y; s0 s! Z6 X/ J+ ~
, \$ l/ q& a* R: W: v            // 启动服务端& f( w) J2 C" N+ t# r) K" l
            Console.WriteLine(server.Start());
  r* x5 S& Y0 h% B            Console.WriteLine("SSL服务启动 127.0.0.1:5001");3 }! T, v2 g) K

! B; r, S' C7 z; P
& g6 j  x8 ]/ @0 |# d( H6 L. }  V! S4 {. ~. P) e) {

* r" T* M, ]6 n, g+ Z' }4 D
5 x  N! B% }# q! r' V# ]* n            // 设置事件回调6 V$ L, R' m( K
7 A3 u, |# G" E
            server.OnSend += (sender, connId, data) =>; s" r: q9 j" R4 ?# U1 e: E
            {
' W- G; ~7 G" f( I; h                Console.WriteLine("发送事件");
# L- c# H9 ^' X2 C& a. X- Q$ G" R# _( G3 b5 D

5 l& q2 u! v+ j4 B2 Q7 ]* V( t            return (0);    ; ^8 L% N4 ^0 e7 M) I
            };" I$ F, V" r3 }0 o# f

0 s' s' ^+ l) J7 m            server.OnHandShake += (sender, connId) =>
3 A9 ~; P) L- F1 Y  S" y9 n            {
% w" v' U$ h. Y( N* X' g: I( ^
8 \! r* p0 R; N$ T1 q$ S& M/ F                Console.WriteLine($"握手事件");& b  }. Z) }* A' R6 p3 e1 Y% s
                return (0);
7 k  B# `# x( @            };3 M# C' H/ l) h8 d* J4 a3 M
& V5 c& d: V' P* @2 Y

9 ]2 V1 O  q4 z' e, n; T4 m* y            server.OnAccept += (sender, connId, client) =>
' K& D$ U3 a. f/ B            {1 w. b" Y' ]* K1 H2 b. z* q) D
                Console.WriteLine($"客户进入: {connId}");5 Z( {7 A: A  m$ `8 l3 C# C5 g
' B  c% e0 D% V7 x  i5 v4 b; S, n
                // 发送欢迎消息给客户端
1 |' w1 w( W* C1 t8 e9 R" q( {+ ?8 @2 Y5 p1 K( z) k
4 X$ z& W5 x8 V) X+ T8 a
                //server.Send(connId, "Welcome to SSL server!");6 ?, `. D$ V8 |2 _4 A1 a
                return (0);* q+ ?, E  M9 P* x& R
            };5 _; [6 @3 ^4 \1 s: S  L/ }  Y
            server.OnReceive += (sender, connId, data) =>1 v8 j) F/ }* t3 t8 `% T
            {+ S+ u$ I! n- C7 Y# z- U4 R8 C
                Console.WriteLine($"数据到达: {connId}, data: {data}");1 U/ I0 Y4 U: a& r8 U/ x0 ]6 F
                return (0);) P: t8 T7 U% h0 X" {
            };/ U: @+ P; h4 S, N2 E; J7 v
            server.OnClose += (sender, connId, operation, errorCode) =>0 \7 `0 S' Z7 B6 t* e; t+ ]( K
            {1 U5 S8 {# N0 @$ k; L+ C
                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");. e2 B- i. j8 g6 m, u1 J8 L: M% o
                 
  t& V% o7 s9 I                return (0);
# Q5 ]* B) j8 Q0 F            };. @  k/ j! b2 |$ L1 F) ^* q) r  z
$ g! f' R( B3 b) {4 m! C2 q# r" ~7 J

  ]. [9 ?4 ?. G, @9 m3 V3 u2 u; S9 T: v7 ?: {% n

6 b5 N7 O8 o' G/ y" C  o, T! v : n3 p7 S' _2 U0 {
3 ^+ ?, h6 D* T+ a. N+ I: O4 }
            // 等待客户端连接并收发数据
, ]: f4 l* _) O3 d5 f            Console.ReadKey();
2 W& V& I7 [+ w; e
+ g/ a: q2 f" Z  L            // 停止服务端
& {4 E/ J/ V% m( t$ r            server.Stop();
' X% @9 L9 d9 P5 b$ b$ m* V        }
7 \; z+ ?( q+ U2 j9 m& P    }
* D; s% R! T1 V7 @7 j}
( W. ~( F6 x; ~# n5 d' w3 e9 e9 D2 {5 F. A, R

7 Q# q& E  F, ^9 \/ n

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

本版积分规则

关闭

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

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

GMT+8, 2024-4-19 12:19 Powered by Discuz! X3.5 *//

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