找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 99|回复: 0

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

[复制链接]
发表于 2023-4-19 14:05:32 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13. U8 M8 E" d. l* d+ O
& s1 P" m# q- p, h
* D, E* N# p1 g1 L1 I
using System;
) m/ i; Q2 r  Y7 F, L' uusing System.Threading.Tasks;) M8 h% R$ y: h. {
using HPSocket;
9 D' z# }, q4 F" \" rusing HPSocket.Ssl;. @: F9 d1 q+ k$ d/ X
using HPSocket.Tcp;
. F3 u; {# w6 B* \. k
7 V: }2 J' C# @+ R  Z3 C$ t3 ynamespace SslServerDemo
8 x5 @4 C8 @0 k; Y: {9 x{2 R6 a! r9 ?( O# p4 y* H5 e/ @
    class Program2 w/ Q% j9 u4 b* ~2 ~" l  x; l
    {3 L1 E) L9 _& e  l) v  F$ }
        static void Main(string[] args)
: ~; q. ?9 G6 D        {
& A$ t' T1 K& E            // 创建SSL服务端( E: j% s. ?+ C0 i
            //var server = new SslServer();8 \  w# L+ B, D: h. I
            ISslServer server = new SslServer(); , _7 G( W' J# v9 r+ H7 @

2 c/ Y! {' i  f' B% e) I            // 设置证书和私钥: {  }; ], K" v: q6 |3 X" Y
           1 a, y( j/ l( r1 N/ q
            server.Initialize(false);6 s; i* ?3 o: ^' |$ R
            server.VerifyMode = SslVerifyMode.None;6 L; W1 w: _4 i5 O5 r) W) \0 R
            server.PemCertFile = "D:/cxiapu/zs/server.crt";
3 G& L/ c3 F5 i% [0 K3 `7 n            server.PemKeyFile = "D:/cxiapu/zs/server.key";8 y* y$ |; T5 t& F$ N+ _
            server.KeyPassword = "mwyfeeq568";4 r, I* Z' n% h5 |
            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";5 G" w& o2 c. i- {$ ^) x/ K

5 o" z% i4 S1 }) B/ n, Q( r$ ~            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");
; N$ T% ?( ^/ H* C+ q/ _& w            server.Address = "0.0.0.0";
3 N2 V: g; x/ d5 R1 P; b            server.Port = 5001;" v0 U+ U9 ], E3 ~1 _& ]) m$ P
+ b* n# `# c" U+ i, o; x) I* @
            // 启动服务端
# N( s# R2 G' C1 n            Console.WriteLine(server.Start());
4 d0 i  r# [' @5 l9 z; s            Console.WriteLine("SSL服务启动 127.0.0.1:5001");( E4 Y9 m3 I6 X3 g7 u/ W
7 n3 G6 P' L: A# {" k4 l: m+ k
' L0 Q9 N& t* \3 z' W9 e

5 b% I% K, [9 w: f1 I& X- ^. d1 d% Q! F7 P$ D$ m7 x

' M; ]+ ]& L! p1 `8 f) d$ |5 ^) K  d            // 设置事件回调6 K, T% j) t! Z. q: i( ^
& v& _0 v4 O, ^( l+ X
            server.OnSend += (sender, connId, data) =>
, x6 {4 C5 p# y; P" @# g            {/ B  n1 `2 m! K0 i+ N
                Console.WriteLine("发送事件");) E4 p7 ]* ?9 X+ {6 m* u
$ n: @" N& T. R

3 i) o3 P+ {, W& {( b2 p2 s            return (0);    3 J! i! R* c( ^% c, x; k' ?( H
            };
/ s6 a$ j' {" c  h, p6 y$ _
( |: c, c3 F5 j' `3 U2 U+ m4 K            server.OnHandShake += (sender, connId) =>8 h) _. S/ I, R9 K% Q
            {  y% Q- |- d9 o; q
: u8 f3 Q( k0 f9 I8 B6 v
                Console.WriteLine($"握手事件");& o$ B. O/ K( r2 ~  E' K
                return (0);6 J8 h- K+ l& b
            };5 H# E# L( v5 D7 n- y

! h# u# V' V; E  N, D! N; X% L, t* k' [7 [  ~3 z8 _5 `) h
            server.OnAccept += (sender, connId, client) =>6 o, b7 V! h  E; ^6 b( \
            {
& z7 E$ k+ w' f% I. X. S' y) S4 v                Console.WriteLine($"客户进入: {connId}");
- q8 R/ \- _6 o7 Y1 H( H% X
% q: m1 O* ~4 z. f( X% f8 t4 b                // 发送欢迎消息给客户端
  ~/ A  O. {& m! U! i
) g# d$ M8 j3 X) m: `$ t. y, N0 |- V8 Q( W; N  B4 g
                //server.Send(connId, "Welcome to SSL server!");
2 b$ Y2 g0 `  ^: r7 M9 \4 k                return (0);
, u! N# W* j5 @7 R1 D1 a            };
( h1 \# Q) z$ R  z3 D7 h( \            server.OnReceive += (sender, connId, data) =>" v1 R- l( m7 O5 K! o3 A
            {$ V5 b5 C/ q" e# M9 u: ]  B* w" }
                Console.WriteLine($"数据到达: {connId}, data: {data}");# ]. L4 m: b+ b+ V
                return (0);  l  `6 P! Q* d8 T  k' M
            };
( h# v9 J, F7 \7 F            server.OnClose += (sender, connId, operation, errorCode) =>
  G5 o. ?9 a% Q' O& a& a/ O6 v            {8 X+ w2 w2 G+ U7 Z
                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");1 A3 D5 c3 o7 f/ [
                 
1 Y4 Y* r- g" B/ P                return (0);3 S% ~+ Y, G2 t3 M) T# Z0 A* c0 @
            };
% ~; i! K: Z$ I5 J+ h& m
4 E) V  Z0 }! T: ?, p8 O! y8 L3 a8 Z3 H0 Q. ?
2 u( l  Y3 f0 h9 N4 h8 V
8 C9 M+ t  y$ x5 a

/ Z: ^2 r  l+ W. w0 q# L3 u" F
( t4 u4 ]2 {1 @$ C# J  p# {            // 等待客户端连接并收发数据1 w8 Y* `* Q# o
            Console.ReadKey();* u/ V$ `5 Z& N# L# {

5 ~2 u5 \) w$ E) O            // 停止服务端
" B* ?- k6 U# L' M            server.Stop();
7 e+ y3 y% B5 S- i8 h' P- \% B: Y        }, W( ~4 Q; k6 F/ u  ^
    }
0 K7 v6 J% ]. M}
/ ^; g0 C& Z' ]1 f$ J
5 l0 `  t, h% ], [1 G8 J
( |4 Y& v$ k$ l% z) |" A& i, I

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

本版积分规则

关闭

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

QQ|Archiver|手机版|小黑屋|HPsocket-国产高性能通讯框架 ( 豫ICP备19038015号-1 )|网站地图 *//

GMT+8, 2023-12-10 22:43 , Processed in 0.098111 second(s), 25 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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