- Gaming notebook topik
- Internet Rádió építése (hardver), és programozása
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Elkészült Oroszország első litográfiai berendezése
- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
- Nvidia GPU-k jövője - amit tudni vélünk
- Milyen TV-t vegyek?
- Nem indul és mi a baja a gépemnek topik
- Apple notebookok
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
Hirdetés
-
EU: a bankoké a felelősség, ha AI-t használnak
it Az EU tőzsdefelügyelete szerint ha AI-t használnak a bankok és befektetési cégek, akkor övék a felelősség.
-
Spyra: nagynyomású, akkus, automata vízipuska
lo Type-C port, egy töltéssel 2200 lövés, több, mint 2 kg-os súly, automata víz felszívás... Start the epic! :)
-
A hajlíthatók kedvence lehet a Dimensity 7300X 5G
ma Átcímkézés helyett csíkszélességet váltott a MediaTek, népszerű Motorolában debütálhat.
Új hozzászólás Aktív témák
-
G.A.
aktív tag
Üdv!
Egy TCP alapú adatküldő/fogadó alkalmazást szeretnék készíteni, ehhez írtam egy alap programot.
Jelenleg egy hibája van, csak 1 csomagot képes elküldeni, utána nem csinál semmit. Nem ír ki hibát, nem fagy le, de csak a programból való kilépés majd újraindítás után tud csomagot küldeni. Egyet.
A program 2-3 szálon fut, ami szerintem a hiba forrása.
public partial class Form1 : Form
{
Stream tcp_stream;
public Form1()
{
InitializeComponent();
}
public void TCP_Client_Init()
{
c_src_port = Convert.ToInt32(client_src_port.Text);
c_dst_port = Convert.ToInt32(client_dst_port.Text);
client_ips = Dns.GetHostAddresses(client_ip_address.Text);
TCP_Client = new TcpClient();
try
{
TCP_Client.Connect(client_ips[0], c_dst_port);
}
catch (Exception e)
{
Close_Client();
}
if(run_client)
{
tcp_stream = TCP_Client.GetStream();
TCP_Client.Client.ReceiveTimeout = 100;
TCP_Client.Client.SendTimeout = 100;
}
}
public void Run_TCP_Client_Listen()
{
bool client_rxd_packet = false;
while(run_client)
{
try
{
client_rxd_packet = true;
tcp_stream.Read(client_BUFFER, 0,256);
string value = Encoding.ASCII.GetString(client_BUFFER);
write_to_rxd_screen(value);
client_BUFFER = null;
}
catch (Exception e) { }
if(client_rxd_packet)
{
client_rxd_packet = false;
}
}
TCP_Client.Close();
}
public void Client_Send_TCP_String(string value)
{
//tcp_stream = TCP_Client.GetStream(); // HIBA <<-- ITT
client_BUFFER = Encoding.ASCII.GetBytes(value);
try
{
tcp_stream.Write(client_BUFFER, 0, client_BUFFER.Length);
}
catch (Exception e)
{
Close_Client();
}
}
}A hiba a Client_Send_TCP_String() funkció első sorában van.
Ha kihagyom a tcp_stream = TCP_Client.GetStream(); sort akkor 1 csomagot el tud küldeni, de többet nem.
Ha beírom, akkor ez a hibaüzenet jelenik meg:
An unhandled exception of type 'System.InvalidOperationException' occurred in System.dllAdditional information: A művelet nem engedélyezett nem csatlakoztatott szoftvercsatornákon.
A Client_Send_TCP_String() akkor fut le, amikor a Send gombra kattintok (ezt kihagytam a fenti kódból).
A Run_TCP_Client_Listen() viszont egy másik szálon fut.Ha jól értelmeztem a hibakódot, akkor a gondom az, hogy a tcp_stream-et 2 szálon egy időben használnám. A tcp_stream.Read()-nél, ill. a tcp_stream.Write()-nál.
Ezt valamilyen invoke (módszer/funkció)-val lehetne megoldani? Hogyan?
Ú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!
- Samsung Galaxy Note20 Ultra - a tollnak nincs ellenfele
- Xbox Series X|S
- Eredeti játékok OFF topik
- Féltucat régi Samsung kapott új One UI-t, köztük az A52s
- Revolut
- Középpontba kerültek a hibrid autók, alig fogyaszt a BYD újdonsága
- Marvel Snap
- Napelem
- Remekül néz ki a szögletes Z Fold6
- Politika
- További aktív témák...
- Fujitsu Lifebook E546 , 14" Kijelző, I3-6100U, 8GB DDR4, 128GB SSD, WIN 10, Számla, garancia
- Fujitsu Lifebook E544 , 14" Kijelző, I7-4712QM, 16GB DDR3, 128GB SSD, WIN 10, Számla, garancia
- Dell Latitude E6430, 14" HD+ Kijelző, I7-3720QM, 8GB DDR3, 320GB HDD, Nvidia 1GB, WIN 10, Számla,
- Dell Latitude E5540, 15,6" Kijelző, I7-4600U, 16GB DDR3, 500GB HDD, Nvidia 2GB, WIN 10, Számla, gar
- Dell Latitude E5540, 15,6" Kijelző, I5-4310U, 8GB DDR3, 500GB HDD, WIN 10, Számla, garancia
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest