Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
若汝棋茗
RRQMSocket
提交
f4e48dfd
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,发现更多精彩内容 >>
提交
f4e48dfd
编写于
9月 10, 2022
作者:
若
若汝棋茗
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加unity相关
上级
ab0c2fce
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
215 addition
and
1 deletion
+215
-1
TouchSocketExample.sln
TouchSocketExample.sln
+10
-1
examples/Unity3d简单示例/UnityPackage/TestTouchSocket.unitypackage
...les/Unity3d简单示例/UnityPackage/TestTouchSocket.unitypackage
+0
-0
examples/Unity3d简单示例/UnityServer/UnityServer.sln
examples/Unity3d简单示例/UnityServer/UnityServer.sln
+25
-0
examples/Unity3d简单示例/UnityServer/UnityServerConsoleApp/Program.cs
.../Unity3d简单示例/UnityServer/UnityServerConsoleApp/Program.cs
+169
-0
examples/Unity3d简单示例/UnityServer/UnityServerConsoleApp/UnityServerConsoleApp.csproj
...Server/UnityServerConsoleApp/UnityServerConsoleApp.csproj
+11
-0
examples/Unity3d简单示例/publish_win86_win64_android.7z
examples/Unity3d简单示例/publish_win86_win64_android.7z
+0
-0
未找到文件。
TouchSocketExample.sln
浏览文件 @
f4e48dfd
...
...
@@ -132,7 +132,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientWinFormsApp", "exampl
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BytePool简单示例", "BytePool简单示例", "{6D046723-8625-4D69-BD71-64E5F43B210A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BytePoolConsoleApp", "examples\BytePool简单示例\BytePoolConsoleApp\BytePoolConsoleApp.csproj", "{F5AA7892-A533-4603-959F-A990AE569C59}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BytePoolConsoleApp", "examples\BytePool简单示例\BytePoolConsoleApp\BytePoolConsoleApp.csproj", "{F5AA7892-A533-4603-959F-A990AE569C59}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Unity3d简单示例", "Unity3d简单示例", "{59C3DFB0-C6E1-4F7E-AD9D-9857A4153A1E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnityServerConsoleApp", "examples\Unity3d简单示例\UnityServer\UnityServerConsoleApp\UnityServerConsoleApp.csproj", "{F645710B-4FE8-430C-9860-B289743CAE23}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
...
...
@@ -296,6 +300,10 @@ Global
{F5AA7892-A533-4603-959F-A990AE569C59}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F5AA7892-A533-4603-959F-A990AE569C59}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F5AA7892-A533-4603-959F-A990AE569C59}.Release|Any CPU.Build.0 = Release|Any CPU
{F645710B-4FE8-430C-9860-B289743CAE23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F645710B-4FE8-430C-9860-B289743CAE23}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F645710B-4FE8-430C-9860-B289743CAE23}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F645710B-4FE8-430C-9860-B289743CAE23}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
...
...
@@ -347,6 +355,7 @@ Global
{707CC6CD-17D0-4EC8-9CF7-D056F7740EC6} = {1DE974CF-D77E-4E9B-B3F9-7E5A3F9C4A67}
{82E99507-C5AA-4AC0-A857-6294D5CF9FFA} = {1DE974CF-D77E-4E9B-B3F9-7E5A3F9C4A67}
{F5AA7892-A533-4603-959F-A990AE569C59} = {6D046723-8625-4D69-BD71-64E5F43B210A}
{F645710B-4FE8-430C-9860-B289743CAE23} = {59C3DFB0-C6E1-4F7E-AD9D-9857A4153A1E}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {DB787235-A13A-4A3D-B5A8-5DFEB6511EEE}
...
...
examples/Unity3d简单示例/UnityPackage/TestTouchSocket.unitypackage
0 → 100644
浏览文件 @
f4e48dfd
文件已添加
examples/Unity3d简单示例/UnityServer/UnityServer.sln
0 → 100644
浏览文件 @
f4e48dfd
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.3.32811.315
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnityServerConsoleApp", "UnityServerConsoleApp\UnityServerConsoleApp.csproj", "{92C0DFB7-E3EC-499D-85C7-69A3ED344264}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{92C0DFB7-E3EC-499D-85C7-69A3ED344264}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{92C0DFB7-E3EC-499D-85C7-69A3ED344264}.Debug|Any CPU.Build.0 = Debug|Any CPU
{92C0DFB7-E3EC-499D-85C7-69A3ED344264}.Release|Any CPU.ActiveCfg = Release|Any CPU
{92C0DFB7-E3EC-499D-85C7-69A3ED344264}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {324D4D22-4EC7-457E-BD31-E23431C21FC4}
EndGlobalSection
EndGlobal
examples/Unity3d简单示例/UnityServer/UnityServerConsoleApp/Program.cs
0 → 100644
浏览文件 @
f4e48dfd
using
System.ComponentModel
;
using
System.Text
;
using
TouchSocket.Core
;
using
TouchSocket.Core.ByteManager
;
using
TouchSocket.Core.Config
;
using
TouchSocket.Core.Dependency
;
using
TouchSocket.Core.Log
;
using
TouchSocket.Core.Plugins
;
using
TouchSocket.Rpc.TouchRpc
;
using
TouchSocket.Rpc
;
using
TouchSocket.Sockets
;
using
TouchSocket.Sockets.Plugins
;
using
TouchSocket.Rpc.TouchRpc.Plugins
;
using
System
;
using
System.IO
;
using
System.Threading
;
namespace
UnityServerConsoleApp
{
internal
class
Program
{
static
void
Main
(
string
[]
args
)
{
//unitypackage在本级目录下。
//已发布的apk和exe客户端也在本级目录下。
StartTcpService
();
StartTcpRpcService
();
Console
.
ReadKey
();
}
static
void
StartTcpRpcService
()
{
var
service
=
new
TcpTouchRpcService
();
TouchSocketConfig
config
=
new
TouchSocketConfig
()
//配置
.
SetListenIPHosts
(
new
IPHost
[]
{
new
IPHost
(
7790
)
})
.
SetThreadCount
(
50
)
.
UseDelaySender
()
.
UsePlugin
()
.
ConfigureContainer
(
a
=>
{
a
.
SetLogger
<
ConsoleLogger
>();
//注册一个日志组
})
.
ConfigureRpcStore
(
a
=>
{
a
.
RegisterServer
<
MyRpcServer
>();
//注册服务
})
.
ConfigurePlugins
(
a
=>
{
a
.
Add
<
MyTcpRpcPlguin
>();
})
.
SetVerifyToken
(
"TouchRpc"
);
service
.
Setup
(
config
)
.
Start
();
service
.
Logger
.
Info
(
$"
{
service
.
GetType
().
Name
}
已启动,监听端口:
{
7790
}
"
);
string
code
=
service
.
RpcStore
.
GetProxyCodes
(
"TcpRpcProxy"
);
File
.
WriteAllText
(
"TcpRpcProxy.cs"
,
code
);
//service.RpcStore.ShareProxy(new IPHost(8848));
}
static
void
StartTcpService
()
{
TcpService
service
=
new
TcpService
();
service
.
Setup
(
new
TouchSocketConfig
()
//载入配置
.
SetListenIPHosts
(
new
IPHost
[]
{
new
IPHost
(
7789
)
})
//同时监听两个地址
.
SetMaxCount
(
10000
)
.
SetThreadCount
(
10
)
.
UsePlugin
()
.
SetDataHandlingAdapter
(()
=>
new
FixedHeaderPackageAdapter
())
.
ConfigurePlugins
(
a
=>
{
a
.
Add
<
MyPlguin
>();
//此处可以添加插件
})
.
ConfigureContainer
(
a
=>
{
a
.
SetSingletonLogger
<
ConsoleLogger
>();
//添加一个日志注入
}))
.
Start
();
//启动
service
.
Logger
.
Info
(
"Tcp服务器已启动,端口7789"
);
}
}
class
MyTcpRpcPlguin
:
TouchRpcPluginBase
<
TcpTouchRpcSocketClient
>
{
protected
override
void
OnStreamTransfering
(
TcpTouchRpcSocketClient
client
,
StreamOperationEventArgs
e
)
{
client
.
Logger
.
Info
(
$"客户端:
{
client
.
GetInfo
()}
正在传输流....,总长度=
{
e
.
StreamInfo
.
Size
}
"
);
e
.
Bucket
=
new
MemoryStream
();
}
protected
override
void
OnStreamTransfered
(
TcpTouchRpcSocketClient
client
,
StreamStatusEventArgs
e
)
{
client
.
Logger
.
Info
(
$"客户端:
{
client
.
GetInfo
()}
流传输结束,状态=
{
e
.
Result
}
"
);
e
.
Bucket
.
SafeDispose
();
}
}
class
MyPlguin
:
TcpPluginBase
<
SocketClient
>
{
protected
override
void
OnConnected
(
SocketClient
client
,
TouchSocketEventArgs
e
)
{
client
.
Logger
.
Info
(
$"客户端
{
client
.
GetInfo
()}
已连接"
);
}
protected
override
void
OnDisconnected
(
SocketClient
client
,
ClientDisconnectedEventArgs
e
)
{
client
.
Logger
.
Info
(
$"客户端
{
client
.
GetInfo
()}
已断开连接"
);
}
protected
override
void
OnReceivedData
(
SocketClient
client
,
ReceivedDataEventArgs
e
)
{
client
.
Logger
.
Info
(
$"接收到信息:
{
Encoding
.
UTF8
.
GetString
(
e
.
ByteBlock
.
Buffer
,
0
,
e
.
ByteBlock
.
Len
)}
"
);
client
.
Send
(
$"服务器已收到你发送的消息:
{
e
.
ByteBlock
.
ToString
()}
"
);
}
}
/// <summary>
/// 单例服务
/// </summary>
public
class
MyRpcServer
:
RpcServer
{
public
MyRpcServer
(
ILog
logger
)
{
this
.
m_timer
=
new
Timer
((
obj
)
=>
{
logger
.
Info
(
$"count=
{
count
}
"
);
},
null
,
0
,
1000
);
this
.
m_logger
=
logger
;
}
Timer
m_timer
;
int
count
;
private
readonly
ILog
m_logger
;
[
Description
(
"登录"
)]
[
TouchRpc
(
true
,
MethodFlags
=
MethodFlags
.
IncludeCallContext
)]
public
MyLoginModelResult
Login
(
ICallContext
callContext
,
MyLoginModel
model
)
{
if
(
model
.
Account
==
"123"
&&
model
.
Password
==
"abc"
)
{
return
new
MyLoginModelResult
()
{
Status
=
1
,
Message
=
"Success"
};
}
return
new
MyLoginModelResult
()
{
Status
=
2
,
Message
=
"账号或密码错误"
};
}
[
Description
(
"性能测试"
)]
[
TouchRpc
(
true
)]
public
int
Performance
(
int
i
)
{
Interlocked
.
Increment
(
ref
count
);
return
++
i
;
}
}
public
class
MyLoginModel
{
public
string
Token
{
get
;
set
;
}
public
string
Account
{
get
;
set
;
}
public
string
Password
{
get
;
set
;
}
}
public
class
MyLoginModelResult
{
public
byte
Status
{
get
;
set
;
}
public
string
Message
{
get
;
set
;
}
}
}
\ No newline at end of file
examples/Unity3d简单示例/UnityServer/UnityServerConsoleApp/UnityServerConsoleApp.csproj
0 → 100644
浏览文件 @
f4e48dfd
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="TouchSocket" Version="0.6.0" />
</ItemGroup>
</Project>
examples/Unity3d简单示例/publish_win86_win64_android.7z
0 → 100644
浏览文件 @
f4e48dfd
文件已添加
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录