Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- hcl: GPT diszk kisebbre klónozása
- Elektromos rásegítésű kerékpárok
- bambano: Bambanő háza tája
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Lalikiraly: Macbook NEO 2
- Navaren: Resident Evil Requiem szösszenet
Új hozzászólás Aktív témák
-
tboy93
nagyúr
Sziasztok!
Tetszőleges számú androidos eszköz között (2-50db), wifi-n keresztül, internet nélkül, milyen osztályokkal/metódusokkal kommunikálhatok a leghatékonyabban? Próbálkozom az UDP-vel, ilyen módon:
Küldés:
public static class MessageSender extends Thread {
private volatile boolean flag = true;
@Override
public void run() {
while (flag) {
if (SharedData.messages.size() != 0) {
try {
byte[] data = SharedData.messages.get(0).getBytes();
DatagramSocket socket = new DatagramSocket();
DatagramPacket packet;
packet = new DatagramPacket(data, data.length, InetAddress.getByName(SharedData.broadcastAddress),
52202);
for (int i = 0; i < SharedData.packageQuantity; i++) {
socket.send(packet);
Thread.sleep(SharedData.packageDelay);
}
socket.close();
SharedData.messages.remove(0);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
public void stopThread() {
flag = false;
}
}Fogadás:
class MessageListener extends Thread {
public volatile boolean flag = true;
@Override
public void run() {
while (flag) {
byte[] buf = new byte[64];
try {
DatagramSocket socket = new DatagramSocket(10002);
DatagramPacket packet = new DatagramPacket(buf, buf.length);
socket.receive(packet);
socket.close();
int len = packet.getLength();
byte[] data = packet.getData();
final String message = new String(data, 0, len);
...
} catch (Exception e) {
e.printStackTrace();
}
}
}
}A problemám az, hogy rettentően sok üzenet veszik el, illetve nem biztosított, hogy ha a server küld egy üzit a hálózatra, akkor azt megkapja az összes kliens. Ezt próbáltam meg kiküszöbölni a küldő részben azzal, hogy többször elküldöm kis szünetekkel ugyan azt az üzenetet, de így sem tökéletes, közel sem.
Teljesen rossz irányba mentem el? Vagy csak valami apróság miatt csúszik el az egész?
Új hozzászólás Aktív témák
- Kerékpárosok, bringások ide!
- exHWSW - Értünk mindenhez IS
- One otthoni szolgáltatások (TV, internet, telefon)
- BMW topik
- A fociról könnyedén, egy baráti társaságban
- TCL LCD és LED TV-k
- Xiaomi 17 Ultra - jó az optikája
- Gyúrósok ide!
- WoW avagy World of Warcraft -=MMORPG=-
- Vírusirtó topic
- További aktív témák...
- Eladó Apple Watch SE 2 Rose Gold
- Bomba ár! Lenovo ThinkPad L13 G3 - i5-1245U I 16GB I 256SSD I 13,3" WUXGA I Cam I W11 I Garancia!
- Bomba ár! Fujitsu LifeBook U904 - i5-4G I 10GB I 500GB I 14" QHD+ I Cam I W10 I Gari!
- Bomba ár! Dell Latitude 7320 - i5-11G I 8-16GB I 256SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- Bomba ár! Lenovo ThinkPad E14 G2i - i5-11G I 8GB I 256SSD I 14" FHD I Cam I W11 I Gari!
- REFURBISHED - Lenovo ThinkPad 40AF Dock (DisplayLink) (2 4K felbontás)
- Részletfizetés BankMentes Kamatmentes 12 havi részlet Lenovo Legion Pro 7 27% Áfás számla
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 Fe
- CoolerMaster MM710 53gr pehelykönnyű gamer egér eladó
- AKCIÓ! EVGA FTW3 Ultra Gaming RTX 3080 10GB videókártya garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
