找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2023-4-19 14:05:32 | 显示全部楼层 |阅读模式
悬赏5金钱未解决
TCP服务端能正常连接,但是SSL服务端连接怎么都有问题,连接进入马上就断开了,错误代码13
! T$ ]3 {0 P8 [  ~, L" `2 [) |/ L9 H) R' [; @  n
, I  m, @" k+ x4 t( {
using System;. s( X" }; e  R
using System.Threading.Tasks;4 ^1 y3 {1 |6 S' s7 t+ k$ m
using HPSocket;
) j1 h" I, y* M4 {using HPSocket.Ssl;
: p7 g! T7 X% Wusing HPSocket.Tcp;) j& F1 _. Q! a2 q
+ v# h0 C  z: h4 J# O$ ~/ _9 c
namespace SslServerDemo
. Y9 g& `5 F! g9 Y{+ l8 o) q! n' h" A5 _" g* S  Q  j$ G
    class Program+ l% ]* N, r) o8 M% p3 n
    {
9 b% k, c* X% H5 h! a8 r        static void Main(string[] args)
0 z& W9 a* C: K0 n( b, S8 Q2 S0 H        {
# j% J% Y' ^( U" ^) N4 t            // 创建SSL服务端* _# k; r0 I4 Y! h/ e6 W5 y
            //var server = new SslServer();* \& Z& |. j. [  w5 Z# P- p
            ISslServer server = new SslServer(); 7 T# x# L# O+ |. t; d

+ ]* x5 y5 A4 l' |2 h            // 设置证书和私钥
  D/ J- T" @) I9 N7 c; U7 `$ k4 I+ h           
' q% |3 Y% j( u            server.Initialize(false);
0 w) V& A* a. x* N$ S. V8 P' F            server.VerifyMode = SslVerifyMode.None;7 P1 n+ N$ d/ d- }, @
            server.PemCertFile = "D:/cxiapu/zs/server.crt";7 A0 a* Q' i$ Y6 W+ \
            server.PemKeyFile = "D:/cxiapu/zs/server.key";
; I9 s; |: r0 X. F            server.KeyPassword = "mwyfeeq568";7 y6 O* j- v  Q! Y
            server.CaPemCertFileOrPath = "D:/cxiapu/zs/ca.crt";
8 p5 @5 o. A- K0 U- h, ]- M3 {; H
1 s8 y9 n8 t4 X: @  |! J& h0 Y* Z            //server.AddContext(SslVerifyMode.None, "D:/cxiapu/zs/server.crt", "D:/cxiapu/zs/server.key", "mwyfeeq568", "D:/cxiapu/zs/ca.crt");, K. L+ z( w1 L7 x
            server.Address = "0.0.0.0";
; U2 k0 J/ d, w+ g. [- V' U            server.Port = 5001;- |7 M5 ]2 w5 i3 |

2 Y( w& }* L* W. b            // 启动服务端& ~# U" A1 Y( {) v; k
            Console.WriteLine(server.Start());8 W% h( f8 _- y# l" G
            Console.WriteLine("SSL服务启动 127.0.0.1:5001");
6 w* |# q( L4 b- l% D9 i! p  f# \- c0 `; _  Z- }* C- S3 b9 U
9 }. c. W( I- K" f9 s( }5 j
& `6 {7 d" r7 L  Y
% X2 V1 [% d- w8 n  b1 t/ j8 f2 u. F) e
: u% X  G+ k* J9 j( l" G2 N
            // 设置事件回调
/ j, E. c/ N" N# _% x4 _) v7 `  Y8 N$ n7 O2 W
            server.OnSend += (sender, connId, data) =>
0 Z% l# ~. L# r8 |$ [! m& N5 N) f) M            {
2 J" }" ~+ O) Y  M( G0 g, R                Console.WriteLine("发送事件");
& {" L- @; H1 g6 s
. R" W* q* q# }
$ O" J' D( ]# T% ?+ k( ]% a6 d( F            return (0);   
7 X/ }9 I+ u0 R# Z* Y0 Y  S            };
( p1 P$ e" f' ?/ P- b
( h  r$ h" v8 G% |* T/ R& X  I            server.OnHandShake += (sender, connId) =>5 |& x0 ?% R, R; r9 w
            {4 K  y% _$ r- I- O9 e

0 M+ u! d/ m5 [& v, a                Console.WriteLine($"握手事件");+ f/ m3 Y& X0 e) N$ L1 p  O+ L
                return (0);5 j% ^1 W3 f7 j3 ?) u7 X, R. L  s. N+ l
            };. {, i( b% k* m, a- m- |8 `
- x; Z, g  u4 n; m9 ~
% Z% w! e4 G6 ]% h: j
            server.OnAccept += (sender, connId, client) =>0 d, B7 Y+ w2 ^; F4 T5 @2 {+ U
            {
; d0 g- ]3 {& K  B: P6 ?! p                Console.WriteLine($"客户进入: {connId}");% B# ~2 V# I" o

4 K+ s# d% T2 g                // 发送欢迎消息给客户端
  y4 c% M! h: x0 b3 i8 }6 b( S$ X$ X* Z9 X" f+ c$ D5 z
( T" U# q9 z9 R7 L2 V  i' a# C
                //server.Send(connId, "Welcome to SSL server!");
# n, Q. j# R  t: f                return (0);* X+ D) d2 d- R: Y0 \! {7 y
            };
1 L6 m7 O# n% A+ E# T            server.OnReceive += (sender, connId, data) =>$ s  s; O1 y2 Y
            {
( W+ r: Z# `7 T- ?4 p& r                Console.WriteLine($"数据到达: {connId}, data: {data}");3 A  \/ O2 J$ i! A, l0 U- K" e
                return (0);
& o' u1 u" V5 u+ G- X# y  i2 K, f            };% ?7 a' n( M( W, e
            server.OnClose += (sender, connId, operation, errorCode) =>
# c# @0 D$ V. {9 z+ t" A7 I+ ~            {
( W8 {/ E9 @, d8 }                Console.WriteLine($"客户断开:{connId}错误代码:{errorCode}");$ D1 A3 J# o* o1 @5 _' @
                 
+ a3 ?& v' Q* V' v                return (0);
$ D& E2 z/ r  X" I  m" L4 o9 Y3 G            };$ r# K; t( o- f! C
1 A# g+ V3 j3 Z
. v4 @. V- S( M0 c
0 O& {5 L7 f; C
# b& c3 S4 w7 Q. ]* d
1 _8 R9 }3 t4 D4 Y
0 N# Q: X9 ?1 X/ d5 w1 z
            // 等待客户端连接并收发数据
3 e7 l, k4 d! g) c- T            Console.ReadKey();
5 h" Q) i, H+ C+ S
$ d8 x3 C' |3 u% R/ ^            // 停止服务端  ^' h/ ~) T% R$ E$ ^
            server.Stop();5 O# t" X1 f# X" s
        }+ m& H0 S7 f- D; ~6 E
    }5 z  P# f+ |" M% `5 E2 w
}' a, e. T+ A. A; L5 f

3 f3 X! {$ |; `# ?
+ R; |3 U2 S2 A9 b2 l, M7 {. V

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

本版积分规则

关闭

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

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

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

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