我正在尝试使用tokio-tungstenite crate 创建基于 URL 的聊天室。例如,我有一个客户端连接到ws://localhost:8080/abcd. 我的理解是,我必须使用该tokio_tungstenite::accept_hdr_async函数来访问标头才能获取/abcd路径,但我在使用它时遇到了问题。我的第二个论点应该copy_headers_callback是什么?
我的代码基于这个例子:
use std::{
collections::HashMap,
env,
io::Error as IoError,
net::SocketAddr,
sync::{Arc, Mutex},
marker::Unpin,
};
use futures_channel::mpsc::{unbounded, UnboundedSender};
use futures_util::{future, pin_mut, stream::TryStreamExt, StreamExt};
use tokio::net::{TcpListener, TcpStream};
use tungstenite::{
protocol::Message,
handshake::server::{Request},
};
type Sender = UnboundedSender<Message>;
type PeerMap = Arc<Mutex<HashMap<SocketAddr, Sender>>>;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
struct BroadcastJsonStruct {
message: String,
sender_addr: SocketAddr,
}
async fn handle_connection(peer_map: PeerMap, raw_stream: TcpStream, client_addr: SocketAddr) {
println!("Incoming TCP connection …Run Code Online (Sandbox Code Playgroud) 我对 React Native 和 Expo 还很陌生,我对 cookie 的管理方式感到困惑。我有一个 Express 服务器,它在响应 ( res.cookie("jwt",token)) 中设置令牌 cookie。不知何故,当我的 React Native 客户端发出身份验证请求并收到响应时,客户端会将 cookie 存储在某处,并且令牌会在以后的请求中传递(使用credentials: "include"),直到我重新启动模拟器。我的主要问题是
预先感谢您的帮助!