mirror of
https://github.com/speyejack/smo-multi-rs.git
synced 2025-10-05 23:52:48 +02:00
A bunch of experimenting
This commit is contained in:
@@ -164,14 +164,14 @@ async fn proxy_client(
|
||||
match &packet.data {
|
||||
PacketData::Tag { .. } => {
|
||||
if last_tag_packet.elapsed().as_millis() < 1000 {
|
||||
use_udp = !use_udp;
|
||||
// use_udp = !use_udp;
|
||||
tracing::info!("Using udp: {}", use_udp);
|
||||
}
|
||||
last_tag_packet = Instant::now();
|
||||
}
|
||||
PacketData::UdpInit { port } => {
|
||||
let addr = SocketAddr::new(serv_udp_addr.ip(), *port);
|
||||
tracing::debug!("New udp peer: {:?}", addr);
|
||||
tracing::info!("New udp peer: {:?}", addr);
|
||||
|
||||
udp.set_client_port(*port);
|
||||
|
||||
|
@@ -221,6 +221,7 @@ impl Client {
|
||||
packet.id,
|
||||
packet.data.get_type_name()
|
||||
);
|
||||
tracing::debug!("Udp conn: {:?}", self.udp_conn);
|
||||
|
||||
if self.udp_conn.is_client_udp() {
|
||||
// Use UDP traffic
|
||||
@@ -264,7 +265,7 @@ impl Client {
|
||||
tracing::debug!("Binding udp to: {:?}", local_udp_addr);
|
||||
|
||||
tracing::debug!("setting new udp connection");
|
||||
let udp_conn = UdpConnection::new(udp, tcp_sock_addr.ip());
|
||||
let mut udp_conn = UdpConnection::new(udp, tcp_sock_addr.ip());
|
||||
|
||||
tracing::debug!("Waiting for reply");
|
||||
let connect = conn.read_packet().await?;
|
||||
@@ -280,13 +281,14 @@ impl Client {
|
||||
..ClientData::default()
|
||||
};
|
||||
|
||||
conn.write_packet(&Packet::new(
|
||||
Guid::default(),
|
||||
PacketData::UdpInit {
|
||||
port: local_udp_addr.port(),
|
||||
},
|
||||
))
|
||||
.await?;
|
||||
// conn.write_packet(&Packet::new(
|
||||
// Guid::default(),
|
||||
// PacketData::UdpInit {
|
||||
// port: local_udp_addr.port(),
|
||||
// },
|
||||
// ))
|
||||
// .await?;
|
||||
udp_conn.set_client_port(41553);
|
||||
|
||||
let data = Arc::new(RwLock::new(data));
|
||||
|
||||
|
@@ -105,6 +105,7 @@ impl UdpConnection {
|
||||
}
|
||||
|
||||
pub async fn write_packet(&mut self, packet: &Packet) -> Result<()> {
|
||||
tracing::trace!("Writing out udp packet: {:?}", packet);
|
||||
if let UdpSenderStatus::Connected(send_addr) = self.send_addr {
|
||||
let mut buff = BytesMut::with_capacity(MAX_PACKET_SIZE);
|
||||
packet.encode(&mut buff)?;
|
||||
|
@@ -26,7 +26,7 @@ impl Server {
|
||||
let settings = self.settings.clone();
|
||||
let udp_port = base_udp_port + udp_offset;
|
||||
udp_offset += 1;
|
||||
udp_offset %= 32;
|
||||
udp_offset %= 2;
|
||||
|
||||
tracing::info!("New client attempting to connect");
|
||||
|
||||
|
Reference in New Issue
Block a user