Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
若汝棋茗
RRQMSocket
提交
96a2c05d
RRQMSocket
项目概览
若汝棋茗
/
RRQMSocket
11 个月 前同步成功
通知
20
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
RRQMSocket
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
96a2c05d
编写于
9月 24, 2022
作者:
若
若汝棋茗
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完善JsonRoc示例
上级
eef56dd1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
34 addition
and
29 deletion
+34
-29
examples/JsonRpc简单示例/JsonRpcConsoleApp/Program.cs
examples/JsonRpc简单示例/JsonRpcConsoleApp/Program.cs
+34
-29
未找到文件。
examples/JsonRpc简单示例/JsonRpcConsoleApp/Program.cs
浏览文件 @
96a2c05d
...
...
@@ -19,6 +19,35 @@ namespace JsonRpcConsoleApp
{
internal
class
Program
{
//1.完成了JSONRPC 的基本调用方法
//2.JSONRPC 服务端和客户端的创建
//3.服务端进行主动通知客户端
//4.客户端处理服务端推送的自定义消息处理
//5.[JsonRpc(true)]特性使用 标记为true 表示直接使用方法名称,否则使用明明空间+类名+方法名 全小写
//6.RPC上下文获取。通过上下文进行自定义消息推送
private
static
void
Main
(
string
[]
args
)
{
//{"jsonrpc": "2.0", "method": "testjsonrpc", "params":"TouchSocket", "id": 1}
//此处是生成代理文件,你可以将它复制到你的客户端项目中编译。
File
.
WriteAllText
(
"../../../JsonRpcProxy.cs"
,
CodeGenerator
.
GetProxyCodes
(
"JsonRpcProxy"
,
new
Type
[]
{
typeof
(
JsonRpcServer
)
},
new
Type
[]
{
typeof
(
JsonRpcAttribute
)
}));
Console
.
WriteLine
(
"代理文件已经写入到当前项目。"
);
CreateTcpJsonRpcParser
(
7705
);
CreateHTTPJsonRpcParser
(
7706
);
JsonRpcClientInvokeByTcp
();
JsonRpcClientInvokeByHttp
();
JsonRpcClientInvokeByWebsocket
();
Console
.
WriteLine
(
"请按任意键退出"
);
Console
.
ReadKey
();
}
private
static
void
CreateHTTPJsonRpcParser
(
int
port
)
{
HttpService
service
=
new
HttpService
();
...
...
@@ -146,37 +175,9 @@ namespace JsonRpcConsoleApp
JObject
newObj
=
jsonRpcClient
.
TestJObject
(
obj
);
Console
.
WriteLine
(
$"Websocket返回结果:
{
newObj
}
"
);
}
//JSONRPC 通讯基础示例 TPC和HTTP 未来考虑扩展升级WebSocket
//1.完成了JSONRPC 的基本调用方法
//2.JSONRPC 服务端和客户端的创建
//3.服务端进行主动通知客户端
//4.客户端处理服务端推送的自定义消息处理
//5.[JsonRpc(true)]特性使用 标记为true 表示直接使用方法名称,否则使用明明空间+类名+方法名 全小写
//6.RPC上下文获取。通过上下文进行自定义消息推送
private
static
void
Main
(
string
[]
args
)
{
//此处是生成代理文件,你可以将它复制到你的客户端项目中编译。
File
.
WriteAllText
(
"../../../JsonRpcProxy.cs"
,
CodeGenerator
.
GetProxyCodes
(
"JsonRpcProxy"
,
new
Type
[]
{
typeof
(
JsonRpcServer
)
},
new
Type
[]
{
typeof
(
JsonRpcAttribute
)
}));
Console
.
WriteLine
(
"代理文件已经写入到当前项目。"
);
CreateTcpJsonRpcParser
(
7705
);
CreateHTTPJsonRpcParser
(
7706
);
JsonRpcClientInvokeByTcp
();
JsonRpcClientInvokeByHttp
();
JsonRpcClientInvokeByWebsocket
();
Console
.
WriteLine
(
"请按任意键退出"
);
Console
.
ReadKey
();
}
}
public
class
JsonRpcServer
:
RpcServer
public
class
JsonRpcServer
:
Transient
RpcServer
{
/// <summary>
/// 使用调用上下文。
...
...
@@ -229,6 +230,10 @@ namespace JsonRpcConsoleApp
[
JsonRpc
(
true
)]
public
string
TestJsonRpc1
(
string
str
)
{
if
(
this
.
CallContext
is
IJsonRpcCallContext
context
)
{
}
return
"RRQM"
+
str
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录