找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2023-4-19 14:05:32 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13
6 _: _8 v/ k% {6 B# W& M
- d4 W, T* i& A. s, U8 w5 ~3 ]( [0 X! ^- s
using System;6 {- R  N0 }$ P. P; b% \
using System.Threading.Tasks;; m% d; n) U; f/ ]. I8 b0 D
using HPSocket;
. `* S( K0 I9 h3 K  }  fusing HPSocket.Ssl;# B2 |) n8 [# H  S
using HPSocket.Tcp;
8 g( N6 V) P* e8 m' S& S
8 A/ W. M4 Q0 Jnamespace SslServerDemo+ u9 g7 P2 n  s+ ]: c
{1 i- J" H  G" f) M$ g+ k' O
    class Program+ o, x! U) e" X$ R; Q. }; ~# Z
    {8 }4 V! I1 ], P9 K. |9 l' N  p
        static void Main(string[] args)
  y2 i7 W% u6 A        {
( R) A% K6 f% f/ O4 h            // 创建SSL服务端. ^0 q/ w6 s2 E! {. z
            //var server = new SslServer();; [0 a, a: V( {+ F9 v
            ISslServer server = new SslServer();
$ u# R9 y) A! A6 \9 x; l  K* c: Y5 {" q. V
            // 设置证书和私钥
& `/ ]2 x5 C* s           4 o4 J6 s$ c( h3 O2 }' t- K) L
            server.Initialize(false);
# T# s  Y; w5 ^, w' w% Q, D, i            server.VerifyMode = SslVerifyMode.None;
# {. [7 s2 i* T2 j            server.PemCertFile = "D:/cxiapu/zs/server.crt";+ P/ I# R) k4 D2 o
            server.PemKeyFile = "D:/cxiapu/zs/server.key";! Q1 {; r. j6 L
            server.KeyPassword = "mwyfeeq568";
/ y3 {- h; |% R" j0 f            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";
: ^5 Z4 }7 H0 N, O9 q2 L% [) G. H* n
            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");! b8 }5 b  U8 w, k  E9 w+ K* b: M
            server.Address = "0.0.0.0";
$ X% I' D7 F9 f. T; y' t% f            server.Port = 5001;4 R7 \( _  E8 B7 ]% a7 Y& Y% R3 e

% s* ]. H2 g& @" h  E3 ]  _4 P            // 启动服务端' S, b3 \6 C5 `; ^  R
            Console.WriteLine(server.Start());2 u* A" W( `) f  ]
            Console.WriteLine("SSL服务启动 127.0.0.1:5001");, h: u. h1 ~: q. P4 N7 Z  Z
2 y% h  J& ]7 ?3 N/ L

+ C. h8 c# g' \/ O3 F
1 z) k" v& f7 T# C( k; k0 r9 ?: f3 x0 h. N; h5 @3 W1 p
8 L4 a) E6 N) g+ {0 W' _# g! y
            // 设置事件回调) C3 ~& B4 I4 N
, x6 O- f: o' e: s
            server.OnSend += (sender, connId, data) =>; v# ]+ s, o. O+ w7 K/ C( Y
            {
( F1 |* G0 f4 |                Console.WriteLine("发送事件");  D' t% G4 _  j0 o2 b
3 T# C5 v; c4 e+ i" M
0 F% ^8 T# t* X. D0 `! `" ~
            return (0);   
' k" L# |: a+ H9 A/ k6 r            };; X; F: {& U4 Y5 j$ d0 D
- K  [! e" g* C: h9 Y. D
            server.OnHandShake += (sender, connId) =>- p( m- W; r& [/ J$ r
            {
* x% g1 y. E( K7 f9 B$ p- L2 g
2 X8 v3 ~/ x5 a4 z5 ~7 L* @7 n                Console.WriteLine($"握手事件");& O; u* s- I* Z8 }8 m1 |
                return (0);
' H7 |& o% n" q8 s- i) \            };
5 M' j. E, X9 {5 r# K9 G* `/ ]9 y# ?
; i5 t* t! v, f4 L
            server.OnAccept += (sender, connId, client) =>: H8 U0 X, N2 N0 k1 e
            {
% [& z' o( m. R! X" b6 u                Console.WriteLine($"客户进入: {connId}");" ~$ t6 A: A, p4 v% {: F4 v

, _" b9 y9 ^) n" t  }                // 发送欢迎消息给客户端
. e9 x0 k0 O7 E5 b+ n( `
: B  V: z5 S# \/ q3 m
, G3 T0 o! U' N) [. W0 J                //server.Send(connId, "Welcome to SSL server!");
+ |  d+ s7 h! m' }                return (0);
5 {. H* S- U8 G. [6 ~% P8 K            };+ W7 `9 G- x( T5 Q# J# E  {
            server.OnReceive += (sender, connId, data) =>
5 G5 E# o, ^) N- t* h4 Y3 z5 L            {
# V7 I2 ]% W0 d. f0 I) I                Console.WriteLine($"数据到达: {connId}, data: {data}");; M2 o8 T8 Q0 ?2 h9 p# b8 R# m
                return (0);
" Z8 g) k' H' \! W' E" X. E            };
, j! D7 ]3 Y& h" r2 C; t+ Z            server.OnClose += (sender, connId, operation, errorCode) =>
. O; }3 F+ o8 q& g, s' c5 S            {/ W8 Q8 d1 B7 m8 K2 ]; q6 {; ^
                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");
0 ^6 @- h. b  v* W                 
# o9 p& A9 Z7 c0 T& T, }$ _& j                return (0);
8 ^: s; F! M; K( E3 {( Q& S            };
$ n, X* w9 y9 g% _) Y
0 p7 ^/ N  h  X7 A$ Y6 L; m$ ], h" T  T* Q! `0 D: H

- ?9 e6 H/ E' k0 D7 ~+ c! C: o- W# P" k, E
3 \7 j# n1 B: h& J

$ L7 m$ ]$ p" j9 C  _            // 等待客户端连接并收发数据7 q- ?" ~( K+ T1 p( E0 ]% h0 S
            Console.ReadKey();  S' j$ [5 q2 G4 ?' Y

% P6 V/ [7 H; [( N7 q            // 停止服务端  r4 p1 D+ O2 J( q/ o2 s; ^8 ]3 m
            server.Stop();
  q  h" Z6 k( g        }& H( B5 h' c8 ]& @  A; E
    }
8 k% N# I8 Y2 l$ P; [* ]}" s4 i# t. C: g/ Z  _

# m% F5 G& R7 `: H5 \9 ~3 h  ]0 G9 K8 m/ m3 J

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

本版积分规则

关闭

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

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

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

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