From 48ab5e9b250a5590794433ac09b749d19ffe80ec Mon Sep 17 00:00:00 2001 From: Samuka007 Date: Mon, 21 Apr 2025 21:40:38 +0800 Subject: [PATCH] socket example but haven't test run --- src/main.rs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 9910993..46cace8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,10 +1,9 @@ use std::sync::Arc; use berkeley_socket::{ - driver::{irq::start_network_polling_thread, tap::TapDevice}, - interface::tap::TapIface, - socket::inet::common::NET_DEVICES, + driver::{irq::start_network_polling_thread, tap::TapDevice}, interface::tap::TapIface, posix::SOCK, socket::{endpoint::Endpoint, inet::{common::NET_DEVICES, syscall::Inet}, Family} }; +use smoltcp::wire::{IpAddress, IpEndpoint}; use spin::Mutex; fn main() { @@ -13,4 +12,15 @@ fn main() { NET_DEVICES.write().insert(0, iface); let _ = start_network_polling_thread(); // TODO: add socket tests + + let socket = Inet::socket(SOCK::Datagram, 0).unwrap(); + socket.bind(Endpoint::Ip( + IpEndpoint::new( + IpAddress::v4(192, 168, 199, 1), + 1234, + ) + )).unwrap(); + let mut buffer = [0u8; 1024]; + socket.read(&mut buffer).unwrap(); + socket.write(&buffer).unwrap(); }