找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

7 g' X- J/ g  |( M7 u8 I+ E
2 L$ b, ~: z7 H8 pusing System;
/ K" ^& }" ~8 V- R* _/ l2 _using System.Threading.Tasks;
2 i! y0 I$ c) e! b: Z/ cusing HPSocket;
2 l2 v& j) O0 O/ xusing HPSocket.Ssl;
# G" c* b4 ?4 F$ j' O! _using HPSocket.Tcp;
0 J( ~4 W) B8 @" A( @% O  N8 a. i7 {9 y( ]7 O0 m7 Y9 K
namespace SslServerDemo
( n3 u7 v1 l% f; ^& Y" T5 C3 b{; G8 B. e* a( x+ A1 Y
    class Program
, [% B* h4 o; P) c  T& E2 g    {
# g8 r+ a1 y. ?' D6 u3 R        static void Main(string[] args)8 [3 T# R4 _1 h5 }
        {
4 ]) v9 L, X  `            // 创建SSL服务端: y) b. W( ~, c
            //var server = new SslServer();: W/ s3 M& S1 f+ k  E. a
            ISslServer server = new SslServer(); , Y  o7 E6 q4 L! K# w$ ~% ?

1 f* ^' Z0 S. a! P0 r' i2 B            // 设置证书和私钥
" ?: t7 C( M4 O% U           ( D0 H& T7 J8 Z, G! m
            server.Initialize(false);
6 E. C2 @$ q6 w) W6 p9 }- B5 J+ s3 i            server.VerifyMode = SslVerifyMode.None;$ M) p* z$ J3 ?7 l2 j
            server.PemCertFile = "D:/cxiapu/zs/server.crt";5 h- ?) j# d7 {
            server.PemKeyFile = "D:/cxiapu/zs/server.key";- t0 m' r( d9 a  ]
            server.KeyPassword = "mwyfeeq568";
" w( e8 ~! s' x! E$ N) P            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";
% o0 P4 n' l* n; H" q( B2 D
* |- |- ^& A4 J3 y( F            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");
' n$ f- u: Q5 g7 h4 D            server.Address = "0.0.0.0";2 `* ]7 C1 O9 b: p5 S, Y+ [
            server.Port = 5001;
/ j; v+ N: R$ p
) H$ n# T! u* X) u- `& _: H            // 启动服务端2 Z" s. Z7 [( X4 S$ Y' V  |
            Console.WriteLine(server.Start());
$ ?% S/ g! i) s; i            Console.WriteLine("SSL服务启动 127.0.0.1:5001");9 `) i3 N9 n  r+ d
  t2 B6 N  k4 c5 |0 o# D

0 t6 L( s6 a5 [0 P4 b9 z
4 K$ k, \; S) ]# n. M+ p
  j# L2 T6 A' C4 _1 \
" [1 ?0 z7 z4 l6 @6 t" g/ X4 U+ j# C- I            // 设置事件回调' @5 Q8 p$ n* R; m- C  G

/ G0 z0 ~1 |7 l; H            server.OnSend += (sender, connId, data) =>
' e$ V+ V3 b  L0 V+ m            {: y  {! f) g0 r$ K9 M3 V
                Console.WriteLine("发送事件");
8 e0 z! y- l' P
* i! U# p, u% G6 I% R4 H
% w9 p% U6 w8 x" [; \3 d# W! y% O/ b            return (0);    8 k5 ~) E; [$ V4 g
            };! ?4 a% |1 V* u9 T# O2 Y2 E* E

0 m, ^: g& j& _# c7 F            server.OnHandShake += (sender, connId) =>
' k# Q$ J' m* q6 K. s            {
2 `, g( q) V: h  x3 e$ Y" w3 s7 O' O7 y3 e
                Console.WriteLine($"握手事件");* U! \2 c# q9 y$ \
                return (0);1 U6 N& a( V/ s  n
            };
# |" a1 F/ P4 d5 r$ K5 ]( P4 S! R8 r+ F- g& J
9 |  T# t2 r. |6 Y: X! A% h
            server.OnAccept += (sender, connId, client) =>) G. B7 E6 U% w  \# W) m
            {
5 ]! B8 o0 T* r1 L% V3 Q                Console.WriteLine($"客户进入: {connId}");
& Q  c3 V; z: k1 @
5 H* h/ X/ _! S                // 发送欢迎消息给客户端' J+ \% Y# n# o0 q& X6 M2 s3 I; K( |

- t$ h5 @  ^2 T; a+ C
# {  r0 m- i# c# p+ Y1 }; B) x                //server.Send(connId, "Welcome to SSL server!");
. z7 o3 U! u: }9 J! W: f! ]  g                return (0);, o; K2 ^) b( x% O
            };
/ ^* k# d4 y3 ~1 X) c: f3 J            server.OnReceive += (sender, connId, data) =>
2 ?5 M: [  H" T: ]. q! H* k            {
( G) |& S8 [, `8 q- M. K                Console.WriteLine($"数据到达: {connId}, data: {data}");
5 |& `; e8 N. q1 M5 B7 K/ ]                return (0);
: T2 X% I  d7 l" m' U- O            };
0 h) o& X3 ^+ i8 ^% H4 p            server.OnClose += (sender, connId, operation, errorCode) =>
5 K7 a) _$ F, h2 X% _( t; u3 w3 p/ m            {
( H; h3 V. ^; H& u5 [                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");% V( \) P7 S0 B. Y3 r
                 4 Q% H2 s" a7 {& k( ~3 K# m
                return (0);* _5 j! X5 _9 Y9 J5 k/ M8 s6 Y
            };. L- b. j- ^  Q5 D

: g6 `; ~  T! [* U" C8 P. L4 }" q( o9 [& B

4 X8 H7 C# h, l2 m- n( \7 E* h9 N2 `% V
% q* k0 ]+ C, b* R6 d
4 J( M$ Z6 V! R# J5 F
            // 等待客户端连接并收发数据+ b& T: R; U2 [- |6 q* b
            Console.ReadKey();
6 D, @. j8 }7 E8 c
- V! T- Z9 S2 d3 W! a6 r6 J; }8 ~            // 停止服务端9 E+ Q% S3 P3 `6 l
            server.Stop();& t- W6 X( {+ q0 q) V
        }
) k4 w2 \( L) ], }" {8 v! \    }
$ k6 l; ~. N$ B# W( m( \+ L, x}
6 l+ Q+ T7 c" w- p2 w+ `- Y# ^; P' o( \1 F+ s
$ C8 w7 q. S& \: o: [  H2 G+ ?3 ~

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

本版积分规则

关闭

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

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

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

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