找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

- a7 G, u4 C* L
% a! l4 e5 L+ B! W8 xusing System;8 e. U9 M: }' k# g5 `4 `& j& z
using System.Threading.Tasks;
2 Q9 w+ E/ r/ K6 {9 D# x: ~8 jusing HPSocket;7 P& l% V+ U; E8 B# f) b: x  q& P% Y
using HPSocket.Ssl;
: a! A+ ~" |) O, G4 V7 O1 e" nusing HPSocket.Tcp;$ B  H1 k: N$ C4 x7 O

8 V6 V) `& w7 U( S) ~0 [- ]namespace SslServerDemo
) M7 z7 W+ \2 D, S. p{0 a0 w( b, D% a! s1 |# k5 \
    class Program
0 n" m' ]& w' I9 I1 \    {
( w) d" H2 A! b& z3 A4 D' f        static void Main(string[] args)
  ~5 W+ U3 y: V% C' V% E        {
5 A) k" F9 G2 |            // 创建SSL服务端2 K  S- Z7 [2 A" ?
            //var server = new SslServer();
! M5 j( w! m' ]            ISslServer server = new SslServer(); ) H- R; R5 J$ \; P, w. `- X

, f) x7 C( `; L( Q            // 设置证书和私钥" d9 Z. N9 \  g2 G% p# N6 Y" u
           
6 k; ]# `2 }' M; ]  T            server.Initialize(false);
5 M! B8 A7 N0 Y" O. a            server.VerifyMode = SslVerifyMode.None;
- K! A. z* w4 \# b0 n+ }: J9 u            server.PemCertFile = "D:/cxiapu/zs/server.crt";; P" \: P: f8 c0 D% {
            server.PemKeyFile = "D:/cxiapu/zs/server.key";3 U8 J( ^, ^- X! r. {) `5 t. J
            server.KeyPassword = "mwyfeeq568";- H' I/ W1 @6 W3 u" h
            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";3 T3 P6 S1 v6 R4 x7 O2 x
$ }6 l, X8 b( m# L* K3 r
            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");
6 B# h$ V$ w, C/ w            server.Address = "0.0.0.0";6 G8 s  G& S8 @9 D5 S
            server.Port = 5001;
% A$ a2 z$ p6 u- Y7 {: n, Y  \: F" |6 R4 K3 R5 s& P
            // 启动服务端& J, \' b3 g2 Z0 E
            Console.WriteLine(server.Start());
; }2 @2 Y: u, E: C3 X/ T$ t. F            Console.WriteLine("SSL服务启动 127.0.0.1:5001");
) q' m3 {) [1 [0 }& K
. f" A# u# D* i1 @' f4 l/ S, ]) b7 {2 b# m4 {3 ?
% h+ A. I+ B4 U7 }
7 }) r7 w6 X- W& X" O& L6 ]0 h* g
, X- o3 q- I% u! r. c
            // 设置事件回调: U+ R! Y# @: `1 \  t
& W9 H( B& B! {" ]* q. u
            server.OnSend += (sender, connId, data) =>
  \3 _+ n% r; a            {' Z7 l* B8 B/ h0 X2 K
                Console.WriteLine("发送事件");
. e( A% Y6 T/ R9 q- D1 K: B! Z/ ~  s

9 d$ D( Z. j% h5 s+ d3 r8 W            return (0);   
  j, b0 b" ^5 t  r" d            };
. H" r3 Z: e$ ~% D# o# s
) i0 @, U( L3 }5 W7 {0 K  I            server.OnHandShake += (sender, connId) =>
* E- f  a/ f+ y( o7 F            {. }0 R" a/ T! u0 N

6 U+ @( o7 R, x& {6 x1 c9 `                Console.WriteLine($"握手事件");
) Z/ t6 ]7 J1 w9 Q1 }; h                return (0);
+ C8 o- q7 n1 M            };
" E2 b- {( e5 V8 O
1 y7 z( i" \4 o- B' Y0 y1 w5 x+ I8 Z7 M7 f! O
            server.OnAccept += (sender, connId, client) =>
: i: K1 _4 y% B" t7 K; A7 o- Z: `            {
& w4 b. h* g4 y5 M" K. q" }                Console.WriteLine($"客户进入: {connId}");( t$ k# U4 @6 w9 V! ]( L
; j& H, O+ n+ G. H& `2 C
                // 发送欢迎消息给客户端3 [* F6 @6 u/ \

1 Z9 W# i! J* c7 [, e" i, d
2 Q" |# Q( Q6 m% |                //server.Send(connId, "Welcome to SSL server!");, F. g! g7 J( k( Y9 @- i
                return (0);" @9 k$ A; m) e
            };0 G! e( S/ ?% q, |/ F
            server.OnReceive += (sender, connId, data) =>( T% y/ k6 b8 H! Q
            {
4 `) t" F4 ^. J) A8 Q  n& T, M* M! n                Console.WriteLine($"数据到达: {connId}, data: {data}");, r/ g. g- L3 s+ x% c
                return (0);) J5 e! D6 v& x3 l6 [9 W3 X! P
            };
. P2 V, P  v. z5 V0 K1 d% Q            server.OnClose += (sender, connId, operation, errorCode) =>4 C) }6 Y9 w; j; h. J% X" H5 F& U
            {/ X5 d2 w1 o, s  ^4 E' o- x
                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");
* Y/ C. m# U4 b1 V                 " c, U! d. u. ]. ?* J
                return (0);$ `. ~3 n1 [* R* d! |
            };% `4 r& b3 w6 `+ N+ F/ y- ]9 ~0 f
1 R1 n  v+ g1 o- K

5 S% y+ {; ?; K" L* J( _8 ~4 q# @1 a. b+ O7 c

0 H4 m2 d; Y% m
! n' f7 U" S+ Y& m, W! ^  E
4 `' M. }0 t, d6 m            // 等待客户端连接并收发数据* g7 G' v7 b  c5 q( j; F; o
            Console.ReadKey();# p! x) H/ {/ n0 Q# G. Y* Y

( g$ n- }5 X" L& W/ G            // 停止服务端7 E4 r# z/ A, x; B/ |
            server.Stop();. b5 G# r) W$ t$ I1 }+ ^- H$ Z
        }
4 b; k, P3 q. |" }    }; M; T$ j# L! r3 w
}2 `- n+ Q% r0 @( O
& Q7 A- O- E+ n7 O) e
1 F+ h, y- Q/ ^' X" |

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

本版积分规则

关闭

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

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

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

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