- Bemutatkozott a Poco X7 és X7 Pro
- Megjött a jubileumi Pixel széria
- Samsung Galaxy S21 Ultra - vákuumcsomagolás
- Az IFA-n már ott lehetnek a Samsung újdonságai
- Google Pixel topik
- Fotók, videók mobillal
- A Bugatti Veyron megleckéztetésére készül a Dreame első villanyautója
- Szuper Szigettel futott be a HyperOS 3
- Azonnali mobilos kérdések órája
- Xiaomi 14 - párátlanul jó lehetne
Új hozzászólás Aktív témák
-
G.A.
aktív tag
Üdv!
A problémám a következő:
Építettem, pontosabban építgetek, egy mikorcontrollert, amit hálózatra kötnék. Hogy az eszközt távolról is elérhessem írtam hozzá C#-ben egy GUI-s alkalmazást.A kommunikációra az UDP protokollt választottam, mivel sokkal egyszerűbb, mint a TCP.
A program külsőre így néz ki:A felső sorokban a Wireshark által kiírt csomagok láthatóak. A hálózaton a 11-es gép a vezérlő, a 8-as a PC.
Látható, hogy megy a küldés és a fogadás is, ami nem megy az a a programban a forrás port 9800-re való beállítása. Pontosabban az megy, csak ekkor a program összeomlik, a következő hibaüzenettel:
Additional information: Az összes szoftvercsatorna-cím használatának általában csak egy módja (protokoll/hálózat cím/port) engedélyezett
Tehát jelenleg arra nem vagyok képes, hogy a beérkezett és a küldendő csomag source<-> destination portjait fel tudjam cserélni.
A kód:
namespace Smart_Home
{
public partial class Form1 : Form
{
public static byte[] data = new byte[1536], TX_BUFFER = new byte[1536], RX_BUFFER = new byte[1536];
public static bool connection_status = false;
public static byte[] IP_Address = new byte[4];
public static string ip_address_string;
public Form1()
{
InitializeComponent();
}
public void write_to_screen(string value)
{
if (InvokeRequired)
{
this.Invoke(new Action<string>(write_to_screen), new object[] { value });
return;
}
screen.Text += value;
}
public void RecieveChallenge()
{
IPEndPoint AVREndPoint = new IPEndPoint(IPAddress.Parse(rx_ip_address.Text), Convert.ToInt32(rx_dst_port.Text));
UdpClient client = new UdpClient(Convert.ToInt32(rx_dst_port.Text));
while (connection_status)
{
RX_BUFFER = client.Receive(ref AVREndPoint);
write_to_screen(Encoding.ASCII.GetString(RX_BUFFER));
write_to_screen(Environment.NewLine);
}
client.Close();
}
public void connect_Click(object sender, EventArgs e)
{
if (rx_ip_address.TextLength != 0 && rx_dst_port.TextLength != 0)
{
if (!connection_status)
{
connect.Text = "Disconnect";
connection_status = true;
send.Enabled = true;
Thread recieveChallengeThread = new Thread(new ThreadStart(RecieveChallenge));
recieveChallengeThread.Start();
}
else
{
connect.Text = "Connect";
connection_status = false;
send.Enabled = false;
}
}
}
public void send_Click(object sender, EventArgs e)
{
IPEndPoint AVREndPoint = new IPEndPoint(IPAddress.Parse(tx_ip_address.Text), Convert.ToInt32(tx_dst_port.Text));
UdpClient client = new UdpClient(Convert.ToInt32(tx_src_port.Text));
TX_BUFFER = Encoding.ASCII.GetBytes(send_data.Text);
client.Send(TX_BUFFER, TX_BUFFER.Length, AVREndPoint);
client.Close();
}
}
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- !AKCIÓ! Garanciás Klipsch R-120SW 30cm aktív mélysugárzó SubWoofer - 200W RMS / 400W Peak
- Eladó megbízható, szép Toshiba Satelite C850
- Csere - Beszámítás! Gamer PC : I5-14400F / 32GB DDR5 / RTX 4060 Ti / 1TB M.2 SSD
- Ryzen 5600, 32GB RAM, EVGA 3080 Gamer PC
- Asus RT-AC68U router eladó (3 darab - egyben vagy külön is)
- Lenovo ThinkPad X13 Gen 2 i5-1145G7 16GB 256GB FHD+ 100% sRGB - 1 év garancia
- 129 - Lenovo Legion Pro 7 (16ARX8H) - AMD Ryzen 9 7945HX, RTX 4080
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3139, 95% Akkumulátor
- HP EliteBook 840 G7 i5-10210U 16GB 256GB 1 év garancia
- iKing.Hu -Xiaomi 14T Pro Titan Gray Használt, karcmentes állapotban 12 GB RAM / 512 GB tárhely
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: FOTC
Város: Budapest