找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2023-4-19 14:05:32 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13
1 ^0 L! w; H6 j% l! o8 |
' A1 L2 _9 P: b' i  P3 C" V' f0 ?$ B. a# |- V
using System;
3 Y) `$ z. N# b4 k# R0 Musing System.Threading.Tasks;
: y2 l, ]/ l* Vusing HPSocket;
: e2 k2 s: c/ I. o4 nusing HPSocket.Ssl;
" d# ]! Y, a, Lusing HPSocket.Tcp;, o: s# k+ u  V! _# t
0 L" I% F! \6 ?
namespace SslServerDemo
: Q- [$ ^( N" C0 |6 ], Z{1 R- }2 ?: u. B1 N$ w
    class Program- |0 O2 F. `  f' {3 ]3 o- ?. g
    {
* h. S' K0 g& g/ _2 c# C        static void Main(string[] args)+ y2 Z: E& F; }! a5 F5 Z' L
        {
8 z% ?7 y: G: ^5 X, n            // 创建SSL服务端
$ X8 r$ H/ b+ ]) c            //var server = new SslServer();* C5 S+ O" B( ?5 d" k
            ISslServer server = new SslServer();
& m) W: T- R  x7 W' s
8 Q/ p, S3 @; J& L0 u$ j" Y            // 设置证书和私钥$ I7 P+ U/ Q: f( H6 C% ^" i
           
, l+ d4 Y$ O) @6 S            server.Initialize(false);" S/ X5 M; N  ?. x" |
            server.VerifyMode = SslVerifyMode.None;3 S/ o! v# ?2 T. u
            server.PemCertFile = "D:/cxiapu/zs/server.crt";
/ ~# q3 ?  h  N7 ]  v, y            server.PemKeyFile = "D:/cxiapu/zs/server.key";! ?. y/ Y% @- c
            server.KeyPassword = "mwyfeeq568";" m& V* I! I: K
            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";0 s5 ~' m- |% y2 }$ o. g

! [9 L1 _" T, \* t2 x& g            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");
' b, R7 V+ b- N& U2 t1 T            server.Address = "0.0.0.0";* H7 _6 Z$ \# `# B3 [- K4 {
            server.Port = 5001;
1 A- A. a6 E1 |  V* }; {: ?
* A) L7 E0 x! |, B            // 启动服务端& w, s. I) ?* c
            Console.WriteLine(server.Start());5 D- w2 J/ t2 d
            Console.WriteLine("SSL服务启动 127.0.0.1:5001");
# Q3 f: r2 X/ N) V2 i" B) w7 y5 [7 U8 v

* d+ T- Z1 w6 l9 }# I. k9 ^8 T" q  b/ b( i

' f  g. I0 @/ x, F/ k8 y/ ]" v; `; y
            // 设置事件回调
5 t; T+ q) ]! {9 B/ s5 f8 T- f4 Q1 ]- ^. Z' [0 }" {
            server.OnSend += (sender, connId, data) =>1 l; B- u: q( h
            {, g' [" c+ s3 @, L9 L6 X* g% I: G
                Console.WriteLine("发送事件");
- a6 h- Z8 Q/ U  ?5 q. u
# c* q: A8 n' {# e  v& e4 i
6 \8 F5 R7 G2 Q$ }, _/ C& _            return (0);   
; q  A+ M! n, ?3 N  x5 z            };  P2 k/ W6 j$ Y. ~- P# A

) h& N# a: ?/ [. i1 x* I' x4 C            server.OnHandShake += (sender, connId) =>
6 G1 k- N$ z9 X4 o4 L2 k            {$ u% }4 T' t( a$ _* L! q1 C5 S

- B( k& A: S7 f; l                Console.WriteLine($"握手事件");6 `" x% k* V, i5 F8 y, N4 C/ ~' ~7 _
                return (0);
* u( @  v. b* Z$ S1 A4 D            };
9 v4 k3 }. }6 {+ h/ R- V
1 |+ @, a  C8 B" M0 {2 |: O4 V. z3 f- @" O; T% r! l: A
            server.OnAccept += (sender, connId, client) =>
+ B% g  e" J% I: d$ ~' t1 C            {6 s/ ~4 X+ q; H- |0 E4 z, P& R
                Console.WriteLine($"客户进入: {connId}");
) n1 D2 ]. y: ]
4 G# v& h& \2 E, E: s+ w) {( k                // 发送欢迎消息给客户端2 v* ^( U' f& F. ^  X
5 B' ]! E2 N  {- D' E, X

0 {% T$ _) D# a5 A+ @, X% g% g1 g, ^9 J                //server.Send(connId, "Welcome to SSL server!");9 j4 {# }7 q$ L  E, h
                return (0);
0 u6 v2 v/ O' @# U$ O9 j9 V            };
; a% k+ ~, }" H2 Q9 Y! P            server.OnReceive += (sender, connId, data) =>" P& Z% E  v# e8 N
            {
" H* R6 B7 P( \                Console.WriteLine($"数据到达: {connId}, data: {data}");/ z) @) `" d+ ]% }( `
                return (0);( O" c$ T) v; i, Y5 A: [
            };5 {& t; D2 D8 n5 H1 Z, H. L
            server.OnClose += (sender, connId, operation, errorCode) =>! z$ d) J) b$ d9 f8 K: j
            {
+ b* r  m0 r# {. U. f3 h8 H                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");
- y! ~2 s* J; A( }5 s7 N" S                 4 q* y; [  {8 s: H/ W; L
                return (0);: g6 g% ]# P% h* E
            };3 P2 R" G5 ^! Z9 e
6 Z* {9 p; B$ i/ T

9 I, ]' ]) T0 s) r) r2 h; F- L  E" R% U1 P0 s
' L# D1 g  [) R3 `4 [

! t( M# S( G& z) @. x/ i4 i% f; o$ V& ]' P
            // 等待客户端连接并收发数据' G, C  ^8 z, @+ E0 c% E
            Console.ReadKey();, Y( R. E  q/ b
/ y) k# M' K+ k. |
            // 停止服务端
: I" A5 J, u# O            server.Stop();6 e5 z1 q! H4 E& M) D) v
        }& S4 h* H; F  T6 J- e8 g
    }
& c) d' `% g& s* `, K}
9 y! {; k( s' o0 v+ ]/ L9 M: C2 T9 `- r. a. [
2 ]5 Z0 l+ ~: y6 ~

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

本版积分规则

关闭

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

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

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

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