找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2023-4-19 14:05:32 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13
) M$ U. `" j* \$ J2 v7 f% J4 O- L% a. c5 ?

7 Y$ W5 t8 v% ~# P& }using System;3 a( r0 ^% J) h+ I) E
using System.Threading.Tasks;: L+ T3 h7 g# r" ^" i$ T
using HPSocket;/ v4 W7 F: D" F; X* ]8 v) h
using HPSocket.Ssl;" s6 U7 M0 I) o% v$ f
using HPSocket.Tcp;8 `/ j9 Y+ Q* Z% h- a
: t5 b% Z. X( i4 v
namespace SslServerDemo+ a1 n9 B0 N1 D7 k( |! p, F0 G' h
{; B9 A; C2 J  }0 z0 [
    class Program
# q: l" e6 o% y  g# v5 A) i$ m* }6 k    {/ f8 q7 C8 D2 E1 `$ V
        static void Main(string[] args)% V2 H4 h6 v: V# R
        {
! {2 w, v) d) x' h$ k            // 创建SSL服务端! [5 P# l1 E; L% V+ H0 p
            //var server = new SslServer();
. ]: j( T% R8 ]0 q& l4 ?5 e            ISslServer server = new SslServer(); 5 z7 C0 c5 D5 s7 V0 w

2 M; j" o8 ]8 |            // 设置证书和私钥
5 c, ?7 H4 S7 l! V2 I9 [           6 G3 K2 N+ H5 [( M! B- c0 t. D
            server.Initialize(false);
' p. @1 x, O( {0 q$ c7 _' x6 }            server.VerifyMode = SslVerifyMode.None;
7 p% |( D' O: g/ T& n            server.PemCertFile = "D:/cxiapu/zs/server.crt";
; o% u7 J+ T8 ]  A, ~4 s2 v3 [" L8 r            server.PemKeyFile = "D:/cxiapu/zs/server.key";
1 b$ M: \3 I7 F            server.KeyPassword = "mwyfeeq568";
8 K5 H! W$ j9 H& P) C/ R: R            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";
7 E2 `  F5 b2 [2 O2 X" B
. A! i: w: b% x            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");8 J, v4 P3 b' \# a
            server.Address = "0.0.0.0";
# n4 |0 `% N  u9 y            server.Port = 5001;
, X+ G' |! m, O7 F7 u; X+ h2 U+ D' O! B; v
            // 启动服务端
# p( }4 o  I% @+ [; e+ m; {7 _9 D- @            Console.WriteLine(server.Start());
, o# x$ K0 w  m2 M! w( V            Console.WriteLine("SSL服务启动 127.0.0.1:5001");
+ N4 z0 T4 c( K! E. O$ X
& K# R( P1 V# a1 P/ Z/ I
8 y  S# C2 |' V9 [; K/ q/ S  I( S* p# f* B8 z9 e: A
, A* H2 Q* k. f2 R3 V  {

& f+ D* z! i3 A) a8 H' d" v            // 设置事件回调
/ I) g  _+ Y# Y( [! B  C6 _, w
( {- @0 z8 g9 q) l% c            server.OnSend += (sender, connId, data) =>) h' \& S( F' f1 Y) Y; S; B
            {  R! R* w* G: T% N/ L) P, r
                Console.WriteLine("发送事件");; w1 y- \  f* V! C
5 P" t' M' c0 B- f0 O7 e$ V
' ?2 n0 _6 V) C3 Y. y* u
            return (0);    6 A: Z: Y% @6 Z5 Q; f& a
            };8 g1 L8 H! {" k9 S( t8 C9 h
# t) h0 M! ?) L& O
            server.OnHandShake += (sender, connId) =>
* Z8 u( b7 a, ~# \# l            {, z- w' T6 D- M# f4 b& S

6 p2 n9 f* f; p. S8 g8 L                Console.WriteLine($"握手事件");  v8 w9 r6 U6 @
                return (0);
+ T- X  i. A7 \            };  A9 ^* K& S2 {# A/ R( J
% H/ i0 n3 C! c

: K" P% J0 o8 ]/ H7 B, C* e            server.OnAccept += (sender, connId, client) =>' d7 t: a) s" Q; I: b; T4 S
            {3 I- v/ I' H) ?8 W7 {: N
                Console.WriteLine($"客户进入: {connId}");. E, ]0 R1 g1 V; s/ X

7 x. |1 {+ f! k! w9 L2 W                // 发送欢迎消息给客户端8 d2 I+ b/ C4 t2 o- Y; H
9 z5 p7 ?3 ?6 t6 ]! Y+ c; n
% `. T1 {! ~& T, D: A9 o
                //server.Send(connId, "Welcome to SSL server!");
# I/ T9 Y/ N! g; T5 ~2 E% a                return (0);, q* q: C+ R0 v$ U1 c
            };- X+ {- W) L0 N$ y* i# P" s4 ]
            server.OnReceive += (sender, connId, data) =>4 g( E6 d0 R  F' Y: @* e" D" ]: ~
            {/ _) ^+ f+ O0 c/ N1 A& L3 @
                Console.WriteLine($"数据到达: {connId}, data: {data}");6 w" E, K( K: D# u
                return (0);
2 O; {& ^+ V" A* l* t0 n5 ~            };$ N$ T4 E9 }& e. }1 p! c
            server.OnClose += (sender, connId, operation, errorCode) =>: Y7 R& _2 s% g# |
            {6 N( o; M2 [! Y" d, O
                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");
) }2 v$ N1 P/ T6 i                 
" F" Y- N& S; j' a- x                return (0);
  u; A' L0 w* d# ^0 ~            };
. d9 Q3 {7 b& X8 C
' {/ |) P1 ]. }1 e" D  p4 J6 W* X1 a; y% Y$ Y# {/ N
- f7 I* J7 b2 Q! U, {6 m: D8 N
: ^9 ^) P! v) Y1 q

/ }! t# j5 r0 b8 S- q, Z4 ^0 ], l& G; E8 K
            // 等待客户端连接并收发数据
$ i" U) Y& z: C' R( \' I: M            Console.ReadKey();
8 G8 C! Z- p3 r2 n- ~; E2 [! s8 N7 `0 u
            // 停止服务端% {  l3 o& Z4 i0 ~- ]' S0 h
            server.Stop();
" l0 ?- k9 p" E6 |$ l$ f        }* U; X0 I! K1 ?* A  G7 _1 P
    }8 S7 \3 B  s, M0 m
}. P! U5 L) j9 e, y: ~  [* l  c
, O. \4 q2 [5 w6 j# O; ~2 x3 m

& Y& }% |& a0 V' m

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

本版积分规则

关闭

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

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

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

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