Ú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
- Eladó HP ProLiant Microserver Gen8 16 Gb RAM Xeon E3-1265L v2
- Borzasztóan cuki, elegáns, HALK fileszervernek bőven elég teljesítménnyel és elegáns megjelenéssel
- HONOR 400 PRO 5G 12/512 GB Dual SIM Ezüst
- Smart home kiarusitas
- Legjobb kijelzős!!! HP ZBook Power 15 G8 i7-11850H 32GB 512GB Nvidia RTX A2000 1 év garancia
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- Samsung Galaxy S24 FE 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Microsoft XBOX Series X 1TB SSD fekete játékkonzol extra fejhallgatóval garanciával
- DELL LATITUDE 5420 üzleti laptop garanciával 14", i5-11345G7 16gb ram 256ssd FHD
- Panasonic LUMIX G 25mm f/1.7 ASPH objektív
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

