找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2023-4-19 14:05:32 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13
% c0 i9 ]& `; d2 h- B6 t7 J- o; x* s0 ^/ P* Q! I/ B8 D. ]
2 W# Y6 R1 r6 Y" t3 e0 ~5 A
using System;; Z+ W# P. \* ~7 d
using System.Threading.Tasks;, T, V7 P% Q; r4 ^
using HPSocket;: z) k! s% T  ?
using HPSocket.Ssl;: x6 U$ m  [& q9 S$ C$ I' B
using HPSocket.Tcp;7 c) [  H, S0 Q' @& K

/ n8 ^& W% [" Gnamespace SslServerDemo
1 o; u$ I. I. d3 e{) Q1 ^8 ^6 h6 Y
    class Program
7 j8 E! t1 J, A' I; a! ?    {4 i2 B2 H7 c. T  P7 b
        static void Main(string[] args)& [& z) q% ?1 y' P
        {& {) \6 ?3 d) C6 D# {/ ?; ?
            // 创建SSL服务端6 z9 X1 A5 a  F+ Z4 f8 B
            //var server = new SslServer();! c6 S8 J9 K& E; S' C% Y
            ISslServer server = new SslServer();
: F) \1 m1 H. R1 @9 Q( R# _, X
, C" c7 U' {& ]$ A4 g1 a. j            // 设置证书和私钥
1 r& }! m  x# t: d           $ e+ [8 w$ I! s6 G; J
            server.Initialize(false);
; @6 r7 l; _3 m3 R8 a            server.VerifyMode = SslVerifyMode.None;
, u8 L5 e2 ^; B3 G            server.PemCertFile = "D:/cxiapu/zs/server.crt";
( g: A2 d- X# }- _, L            server.PemKeyFile = "D:/cxiapu/zs/server.key";
- {3 b3 g0 c) M* E            server.KeyPassword = "mwyfeeq568";
: {9 m; d* j$ K            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";
) s  ]. r/ v* J5 n& I
9 V1 m; H, N( Y7 u7 t            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");
0 a2 i8 K/ a; q! ^! R- k            server.Address = "0.0.0.0";3 j& f0 |* C7 Z  {
            server.Port = 5001;
4 A. C; E# V0 l5 M. @; _* P& f& P( Q2 u4 a8 n2 @; H! `0 L
            // 启动服务端
$ t" Q! q4 _+ T  q2 B" z7 ^* x            Console.WriteLine(server.Start());
- V/ `7 }0 A5 i0 D+ a7 `            Console.WriteLine("SSL服务启动 127.0.0.1:5001");" `! e$ b* Q/ k/ r9 F
# w, A1 M. r( y* C' \1 M# d& \

5 U' A1 j$ w& p. ?5 Z4 e8 z5 n
& @+ K2 Q( I: u7 }# L
8 e6 p! ^9 S$ S/ `$ [: B
3 C* Y9 M5 c" H1 g            // 设置事件回调
* Q2 G6 P" z0 X" |/ ?+ A" P4 z. U- c: x4 e; Y: G
            server.OnSend += (sender, connId, data) =>
& q' g7 K( \$ Q7 w+ m; V6 Z* Q- J            {/ J5 C" N  T: J% x; U2 X
                Console.WriteLine("发送事件");
  M6 a( \  ~( N( g# A% i5 F* L" b: s) h% y7 D, X+ P% B+ O8 o

' g1 Z8 `$ P5 {! y" _* {            return (0);    ( r7 O) Y5 g# S4 {+ V5 c
            };! \- {8 t5 J4 {/ Y: ]7 _* K0 t5 k5 e

. M" x1 b$ s$ [' d4 U) w! L* K* E            server.OnHandShake += (sender, connId) =>! m3 `4 L& }* q: ~4 q
            {+ }, B; j6 ^2 `6 G/ j
( D" Z* j) K9 V! J/ u. k: y, X
                Console.WriteLine($"握手事件");
) T! a; u) [6 W! N& p                return (0);
. u% ^' k0 ]5 g8 F5 f+ K/ C7 Y            };
. |! |* A/ J+ Z9 ]0 @9 B6 D, i3 G: _. w/ K4 B% ^

2 U) u" H  L, \, F: T1 j3 I            server.OnAccept += (sender, connId, client) =>6 b+ m% g; y5 u  Y% \5 c! Z0 {3 P1 n% v
            {0 m% `" r; C! A) {  N8 C3 W
                Console.WriteLine($"客户进入: {connId}");
4 z4 \0 X7 L: R7 @% w, \+ L
. A% J2 t' U" Z! |, {! ?% Z" r5 [: S6 M                // 发送欢迎消息给客户端5 `( ]$ _+ o& C

" \; q7 Y7 W9 T( l0 c+ D( ?) Q+ p/ g
9 i4 `( I/ l- M2 e3 g                //server.Send(connId, "Welcome to SSL server!");
5 f, ^+ c7 M( W/ ~) s                return (0);2 l" m& w1 c1 I# {/ N: N1 r
            };
; a' s1 k: t3 V# H5 d/ w5 u            server.OnReceive += (sender, connId, data) =>
# u! X: E$ l; `8 ~. D& H5 p3 n' o            {
# Q1 y8 S) i. @0 R) U, f$ t% O                Console.WriteLine($"数据到达: {connId}, data: {data}");
, _( Z/ s& c) u; X' }. _$ f* z                return (0);
0 E% b6 P) b: ~! _            };, W8 P0 ?# U0 T% [
            server.OnClose += (sender, connId, operation, errorCode) =>
- x; i" S/ P, Z5 c0 }4 T            {: A  @4 ?1 {3 N( a8 w. |/ I  L
                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");
  i, O; \* e9 j                 
9 i8 X# b1 s* i7 A                return (0);4 x0 D" s. A5 ?* s) A
            };
7 A/ s$ r1 m+ Z
: c' s9 a2 {5 l. l- W1 j( R, B  B0 n& C% X/ ]3 T0 {, Q: p0 F

2 l3 U, I/ Z! }, s3 x4 y! |. u7 C% j1 B3 ~& t! _9 C
7 O# K. e# a1 S: h7 u

) e5 _5 E3 Y: n9 S            // 等待客户端连接并收发数据
' X& [6 p$ H1 h6 C/ w1 L2 ]3 {            Console.ReadKey();
* J, q- m' M! I" n9 p/ X4 Z# x, O. K& G0 l& C$ C' a! Z
            // 停止服务端
8 o- X9 e; ^( ]. j- s: L2 c            server.Stop();* d) {: T. B4 U$ f" ]- f; }+ n
        }
  v6 X  i5 W: ]/ n: C" E% ^4 E7 P    }
' y0 G; f/ `! Q6 r2 T}7 {" l$ A# Y* A8 d/ z: p
8 z: k1 a9 f. G. f& Q4 L$ W

- y) E9 h  g, ?  `/ p; S

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

本版积分规则

关闭

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

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

( 豫ICP备19038015号-1 ) GMT+8, 2026-3-10 19:55 Powered by Discuz! X3.5 *// |网站地图

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