Hirdetés
Új hozzászólás Aktív témák
-
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
- HIBÁTLAN iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA -Kártyafüggetlen, MS3590
- Gamer PC-Számítógép! Csere-Beszámítás! I7 10700 / 32GB DDR4 / RX 6700XT 12GB / 512 SSD + 1TB HDD
- BESZÁMÍTÁS! Lenovo Thinkpad L14 Gen 1 notebook - i5 10210U 16GB DDR4 512GB SSD Intel UHD GraphicsW11
- 193 - Lenovo Legion 5 (15IRX10) - Intel Core i7-14700HX, RTX 5070
- Bomba ár! HP ProBook 430 G5 - i5-8GEN I 8GB I 128SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


