Anonymní profil Honza – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Honza – Programujte.comAnonymní profil Honza – Programujte.com

 

Příspěvky odeslané z IP adresy 81.90.169.–

Honza
Java › Podmínka pro okénko
6. 5. 2011   #141632

Ahoj, mám udp přenos kdy mi přichází pakety se sekvenčním číslem 0-65536 kde 65536 je opět nula. Pakety si ukládám do okénka které je dlouhé 2048 bytů a potvrzuju násobky čísla 256. Potřebuju vymyslet podmínku tak abych ukládal i pakety které mi přijdou když mám začátek okénka např. 64768 a konec už přeteče a je 1280.Momentálně mám jen tuhle a s tou to moc dobře nechodí. Díky moc za pomoc



public boolean zkontrolujPaket(Paket prijatyPaket){
if(prijatyPaket.seq >= zacatekOkenka && prijatyPaket.seq <= (zacatekOkenka + 2048)){
return true;
}else{
return false;
}
}

Anonymní uživatel
Java › JAVA UDP timeout
1. 5. 2011   #141441

java.net.SocketTimeoutException: Receive timed out
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
at java.net.DatagramSocket.receive(DatagramSocket.java:712)
at robot.Prenos.odesliPaketSyn(Robot.java:81)
at robot.Prenos.main(Robot.java:54)
at robot.Robot.main(Robot.java:23)

Anonymní uživatel
Java › JAVA UDP timeout
29. 4. 2011   #141387

Vždycky to skočí do bloku catch tak to beru jako vyjímku že se neprovede přijetí toho paketu

Honza
Java › JAVA UDP timeout
28. 4. 2011   #141364

Ahoj,mám takový problém.Odešlu UDP paket a pokud mi po 100ms neprijde odpoved mam poslat paket znovu.Mám to následovně ale pokaždý mi to vyhodí vyjímku u přijímání toho paketu a nevim proč.Dík za pomoc



private void uvodniKomunikace() throws IOException{
byte[] prikaz = new byte[1];
prikaz[0] = 1;
if(pocet_odeslani > 20){
odesliRST();
}
pocet_odeslani++;
Paket odeslsanyPaket = new Paket(0,0,0,Paket.FLAG_SYN,prikaz);
dataPaket = new DatagramPacket(odeslsanyPaket.vytvorPaket(),10);

try{
dataSock = new DatagramSocket(port);
dataSock.connect(InetAddress.getByName(hostname), port);
System.out.println("Odesilam SYN");
System.out.println("SYN: " + odeslsanyPaket.flags + " Data:"+odeslsanyPaket.data+" IDC: "+odeslsanyPaket.connectionID );
dataSock.send(dataPaket);
}catch(Exception e){
System.out.println("Chyba pri odesilani SYN");
uvodniKomunikace();
}
System.out.println("Prijimam SYN");
try {
dataSock.setSoTimeout(1000);
dataSock.receive(dataPaket);
} catch (IOException ex) {
System.out.println("Chyba pri prijimani SYN");
System.exit(1);
//uvodniKomunikace();
}
...
}

Honza
Java › čtení velkého objemu dat ze…
5. 4. 2011   #140682

Odesílání zpráv serveru dělá testovací stránka ve škole, může to být libovolně dlouhý test zakončený \r\n

Honza
Java › čtení velkého objemu dat ze…
4. 4. 2011   #140656



private static ServerSocket serverSocket;
...
while((i++ < maxConnections) || (maxConnections == 0)){
Pripojeni connection;
klientSocket = serverSocket.accept();
Pripojeni conn_c= new Pripojeni(klientSocket);
Thread vlakno = new Thread(conn_c);
vlakno.start();
}

public static class Pripojeni implements Runnable {
private static PrintStream out = null;
private static BufferedReader in = null;

public Pripojeni(Socket socket) {
this.klientSocket = socket; //vytvoreni objektu
}

in = new BufferedReader(new InputStreamReader(klientSocket.getInputStream()));

....

private void prijmi_zpravu() throws IOException,Throwable{
//prijem_read();
String prijataZprava ="";
char vstup;
try {
while (true) {

// pocitadlo++;
vstup = (char) in.read();
//System.out.print(vstup+"\n");
if (vstup == '\r') {
vstup = (char) in.read();
if (vstup == '\n') {
break;
}
prijataZprava += vstup;
} else {
prijataZprava += vstup;
}
}
} catch (EOFException e) {
System.out.println("Chyba pri prijimani odpovedi od klienta.");
System.exit(1);
}
}

Honza
Java › čtení velkého objemu dat ze…
4. 4. 2011   #140648

Ahoj,
mám naprogramovaný server který přijímá data od klienta.Čtení musí probíhat znak po znaku ale když mám přečíst vstup o velikosti 2000000bytů tak se spojení ukončí s hláškou že vypršel timeout na socketu...nevíte někdo co s tím?"Normální" krátké vstupy se v pořádku přečtou ale tohle už ne. Vždycky skončínm okolo 400 000 bytů. Díky moc

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý