Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
ws-rst
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
qlintonger xeno
ws-rst
Commits
0ed404af
Commit
0ed404af
authored
Feb 14, 2025
by
qlintonger xeno
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对接web客户端现有数据类型成功
parent
e2516425
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
12 additions
and
6 deletions
+12
-6
src/client.rs
+2
-2
src/config/config.rs
+1
-1
src/deport.rs
+1
-1
src/handles/handshake.rs
+4
-0
src/handles/online_users_update.rs
+1
-1
src/typing/message_typed.rs
+3
-1
No files found.
src/client.rs
View file @
0ed404af
...
...
@@ -25,7 +25,7 @@ pub(crate) async fn handle_client(
center_to_client_sender
:
Sender
<
ClientMessage
>
,
mut
center_to_client_receiver
:
Receiver
<
ClientMessage
>
,
)
->
Result
<
(),
Error
>
{
let
must_existed_params
=
[
"deviceI
d"
,
"fromId
"
,
"wsPwd"
];
let
must_existed_params
=
[
"deviceI
D"
,
"fromID
"
,
"wsPwd"
];
let
mut
connection_params
=
None
;
let
ws_stream
=
match
accept_hdr_async
(
stream
,
|
req
:
&
Request
,
resp
|
{
...
...
@@ -58,7 +58,7 @@ pub(crate) async fn handle_client(
let
mut
last_heartbeat_time
=
Instant
::
now
();
// 包装为 Arc<Mutex<Instant>>
if
let
Some
(
params
)
=
connection_params
{
if
let
Some
(
from_id
)
=
params
.get
(
"fromI
d
"
)
{
if
let
Some
(
from_id
)
=
params
.get
(
"fromI
D
"
)
{
let
from_id
=
from_id
.clone
();
// 注册客户端到事件中心
...
...
src/config/config.rs
View file @
0ed404af
pub
const
STATIC_WS_PWD
:
&
str
=
"
Q8kFm5LzJ2Ab
"
;
pub
const
STATIC_WS_PWD
:
&
str
=
"
7ahU8LVba_mbpn_ZX6wyE
"
;
pub
const
STATIC_ADDR
:
&
str
=
"0.0.0.0:12345"
;
pub
const
REDIS_ADDR
:
&
str
=
"redis://127.0.0.1/"
;
src/deport.rs
View file @
0ed404af
...
...
@@ -7,7 +7,7 @@ pub fn handle_ws_msg(
event_sender
:
UnboundedSender
<
Event
>
,
)
{
match
msg_type
.as_str
()
{
"Get
Online
UserList"
=>
{
"Get
Company
UserList"
=>
{
println!
(
"收到客户端获取在线用户列表 {}"
,
&
from_id
);
},
_
=>
{
...
...
src/handles/handshake.rs
View file @
0ed404af
...
...
@@ -17,6 +17,8 @@ pub(crate) fn handle_handshake(
}
};
println!
(
"连接参数: {:?}"
,
connection_params
);
let
not_existed
=
must_existed_params
.iter
()
.find
(|
param
|
!
connection_params
.contains_key
(
&
param
.to_string
()));
...
...
@@ -32,5 +34,7 @@ pub(crate) fn handle_handshake(
return
Err
(
"wsPwd不正确!"
.to_string
());
}
println!
(
"握手成功!"
);
Ok
(
connection_params
)
}
src/handles/online_users_update.rs
View file @
0ed404af
...
...
@@ -50,7 +50,7 @@ pub async fn send_online_users_and_send(
.await
.map_err
(|
e
|
Error
::
Io
(
std
::
io
::
Error
::
new
(
std
::
io
::
ErrorKind
::
Other
,
e
)))
?
;
let
json_message
=
serde_json
::
to_string
(
&
ServerOnlineUserMessage
{
msg_type
:
"CmdUpdate
OnlineUsers
"
.to_string
(),
msg_type
:
"CmdUpdate
UserList
"
.to_string
(),
from_name
:
"Server"
.to_string
(),
from_id
:
"0"
.to_string
(),
to_id
:
from_id
.to_string
(),
...
...
src/typing/message_typed.rs
View file @
0ed404af
...
...
@@ -5,10 +5,12 @@ use serde::{Deserialize, Serialize};
pub
struct
ClientMessageData
{
#[serde(rename
=
"msgType"
)]
pub
msg_type
:
String
,
#[serde(rename
=
"fromI
d
"
)]
#[serde(rename
=
"fromI
D
"
)]
pub
from_id
:
String
,
#[serde(rename
=
"fromName"
)]
pub
from_name
:
String
,
#[serde(rename
=
"msgData"
)]
pub
msg_data
:
serde_json
::
Value
,
#[serde(rename
=
"toID"
)]
pub
to_id
:
String
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment