- Telekom otthoni szolgáltatások (TV, internet, telefon)
- WLAN, WiFi, vezeték nélküli hálózat
- Milyen NAS-t vegyek?
- Microsoft Excel topic
- Crypto Trade
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- MinDig TV
- Rendszergazda topic
- Mindenki AI-t akar, már 2025-re is eladták a HBM chipeket
- Proxmox VE
Új hozzászólás Aktív témák
-
Nojbee
tag
Sziasztok
Szeretném megoldani, hogy ha történik egy esemény (mentés), akkor egy másik felhasználónak generálódjon egy üzenet, hogy "valami elkészült, nézd meg". Ez úgy jelenne, hogy egy kis üzenet ikonnál frissül az üzenetek száma. Ha rákattint az ikonra, kinyílik egy panel, amiben ott az üzenet.
Java-t és Angular2-t használok, úgyhogy websocket-et néztem ki a megoldásra.
Egyelőre csak tesztelni szeretném a kapcsolatot, de a handshake sem jön össze.Példákat találtam megoldásra, a kliens oldal jónak is tűnik, mert a request elmegy
Viszont elszáll hibával:
09:59:13,527 ERROR [io.undertow.proxy] (default I/O-5) UT005028: Proxy request to /company-component-web/messageServer failed: java.io.IOException: UT001000: Connection closed
at io.undertow.client.http.HttpClientConnection$ClientReadListener.handleEvent(HttpClientConnection.java:529)
at io.undertow.client.http.HttpClientConnection$ClientReadListener.handleEvent(HttpClientConnection.java:472)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:88)
at org.xnio.nio.WorkerThread.run(WorkerThread.java:559)A java oldali kód:
@ServerEndpoint("/messageServer")
public class MessageServerEndpoint {
@OnOpen
public void onOpen(Session session) throws IOException {
session.getBasicRemote().sendText("onOpen");
}
@OnMessage
public String onMessage(String message) {
return message + " (from your server)";
}
@OnError
public void onError(Throwable t) {
t.printStackTrace();
}
@OnClose
public void onClose(Session session) {
}
}pom.xml-ben felvettem a javax.websocket
jboss-web.xml-ben pedig <enable-websockets>true</enable-websockets>Sajnos nem sok tapasztalatom van még ezen a téren, úgyhogy elakadtam. Esetleg tudna valaki segíteni továbblépni a problémán?
Köszönöm
Kliens oldalt is bemáoslom azért:
Service:import {Injectable} from "@angular/core";
import { Subject } from 'rxjs/Subject';
@Injectable()
export class WebSocketService {
private subject: Subject<any> = new Subject();
private ws : WebSocket;
connect(_url: string): void {
let self = this;
this.ws = new WebSocket(_url);
this.ws.onopen = function(evt) {
self.ws.send("Pinging from angular2!");
};
this.ws.onclose = function(evt) {};
this.ws.onmessage = function(evt) {
console.log(evt.data);
self.subject.next(evt.data);
};
this.ws.onerror = function(evt) {};
}
onMessageSubject(): Subject<any> {
return this.subject;
}
}amit innen hívok:
constructor(private httpService: CommonHttpService<MessageBoardVM>, public webSocketService: WebSocketService) {
this.webSocketService.connect("ws://" + document.location.host + document.location.pathname + "messageServer");
this.webSocketService.onMessageSubject().subscribe(
value => {this._serverInfo = value;}
);
}[ Szerkesztve ]
-
#74220800
törölt tag
Hi!
gyors keresztkérdés:
Van egy while ciklusomban egy másik while ciklus. Ha a belső loopban breakelek, akkor ugye csak az fog megszakadni, és nem vele együtt a külső is?
-
Scroll Lock
tag
Sziasztok!
Olyan java programot szeretnék készíteni, melyben egy blenderben készült modellt tudok tetszőleges irányban elforgatni. A programban meg lennének nyilak, amivel az elforgatást tudnám írányítani. Mit tudnátok ehhez ajánlani? Honnan érdemes elindulnom? -
nagyúr
válasz Scroll Lock #9256 üzenetére
Miert Java-ban? Kb. a legkevesbe alkalmas platform a celra.
while (!sleep) sheep++;
-
bundli
tag
Tudtok ajánlani olyan oldalt ahol olyan gyakorló feladatok vannak amivel fel lehet eleveníti a tudásomat? Főleg a szintaktikát szeretném újra begyakorolni, mert most más nyelvben dolgoztam, de pár OOP-s feladat sem árt, amin gondolkozni is kell
-
orc88
őstag
Üdv!
Egy aprócska problémám akadt JFrame/JPanel-el kapcsolatban.
Adott egy JFrame, egy JPanellel. A program futása során ha szükséges hozzá ad képet tartalmazó JLabeleket a panelhez.
A probléma csak az, hogy ezek a labelek csak akkor jelennek meg ténylegesen, ha az ablakot akár egy pixellel is nagyítom vagy kicsinyítem.
Frame: Null layout
Panel: az összeset kipróbáltam, egyikkel se jó, de igazából csak a flow layout jo nekem, ami szépen egymás után pakolja a képeket (labeleket)Valami tipp?
"Life's simple: You make choices and you don't look back."
-
Patrick76496
őstag
Üdv!
Egy kis segítséget szeretnék kérni. Egy játékot szeretnék írni java nyelven, viszont a pálya legenerálásával gondjaim akadtak. Azt szeretném, hogy a pálya legalább fele üres terület legyen, a többi részén pedig 5 különböző dolog megfelelő előfordulási valószínűséggel.
A pálya egy 100x100-as 2D-s tömb lenne. A gond az, hogy mindenhova csak üres területet ('_' karakter) és fákat ('T' betű) generál, és utóbbiból is úgy néz ki, hogy túl sok van.Így néz ki a kódrészlet, ami a pálya generálását csinálja:
for(int i=0; i<100; i++){
for(int j=0; j<100; j++){
Random randm=new Random();
randmap=randm.nextInt(265)+0;
if(randmap>=133 && 164<=randmap){
map[j][i]='T';
}else if(randmap>=165 && 174<=randmap){
map[j][i]='Q';
}else if(randmap>=175 && 216<=randmap){
map[j][i]='w';
}else if(randmap>=217 && 258<=randmap){
map[j][i]='y';
}else if(randmap>=259 && 265<=randmap){
map[j][i]='*';
}else{
map[j][i]='_';
}
}
}Tudna valaki segíteni, hogy hogy lehetne ezt megoldani? Előre is köszönöm a segítséget!
[ Szerkesztve ]
"I have a few jokes about unemployed people but none of them seem to work.."
-
gygabor88
tag
válasz Patrick76496 #9264 üzenetére
Rosszak a feltételeid. Pl első if-ben 164<=randmap és másodikban randmap>=165 átfedik egymást. Érdemes úgy szervezni a kódod, hogy a kisebb érték legyen mindig az operátor bal oldalán és nyílván csak a <= operátort használva, így elkerülhető az ilyen nehezen kiszúrható hiba. Vagy fordítva a másik operátorral, de mixelni nem szerencsés őket.
[ Szerkesztve ]
-
Patrick76496
őstag
válasz gygabor88 #9265 üzenetére
Köszi szépen, igazad volt. Sosem belülre szoktam tenni a feltételnek megadott számot, most nem tudom miért így írtam. Lehet pont emiatt zavarodtam bele, elég figyelmetlen voltam. Most már mást is generál, köszönöm szépen a segítséget!
[ Szerkesztve ]
"I have a few jokes about unemployed people but none of them seem to work.."
-
Aethelstone
addikt
válasz Patrick76496 #9264 üzenetére
Hali.
A randm.nextInt(256)+0; mire való? Csak kíváncsiságból. Nem +1 akart lenni?
[ Szerkesztve ]
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
-
nagyúr
Sziasztok! Szerintetek ez miért száll el az if(sc.hasNext()) sorában az alábbi errorral? Mármint azt értem, hogy elfogy a memória, de miért?
public class NetworkThread extends Thread{
private boolean flag = true;
public void run(){
try{
Socket s = new Socket(getIpAddress(),8080);
final Scanner sc = new Scanner(s.getInputStream());
while(flag){
try{
if(sc.hasNext()){
msg = sc.nextLine();
}
} catch (Exception ex){
ex.printStackTrace();
}
}
} catch (Exception e){
e.printStackTrace();
}
}
public void stopThread(){
flag = false;
}
}Error:
FATAL EXCEPTION: Thread-81
Process: client.guidative, PID: 1122
java.lang.OutOfMemoryError
at java.util.Scanner.expandBuffer(Scanner.java:2067)
at java.util.Scanner.readMore(Scanner.java:2031)
at java.util.Scanner.findPreDelimiter(Scanner.java:1959)
at java.util.Scanner.setTokenRegion(Scanner.java:1919)
at java.util.Scanner.hasNext(Scanner.java:541)
at java.util.Scanner.hasNext(Scanner.java:519)
at client.guidative.MainActivity$NetworkThread.run(MainActivity.java:55)Már minden szart próbálgattam, hogy jó legyen
[ Szerkesztve ]
-
-
MODERÁTOR
válasz Aethelstone #9270 üzenetére
+1 gyorstalpaló.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
smallmer
őstag
Sziasztok,
szeretném kérni a segítségeteket.
Fájlból beolvasásra lenne szükségem. Egy txt-ben vannak számok úgy hogy space-val vannak elválasztva 2-esével a következő formában:2 2
3 4
3 2
4 5és így tovább
ezeket a számokat szeretném beolvasni, csak nem tudom hogy mibe kellene. Két dimenziós tömb az nem jó mert nem tudom hogy hány számpár van.tudnátok adni valami irányt? köszönöm
[ Szerkesztve ]
-
nagyúr
(#9269) zsambek & (#9270) Aethelstone & (#9271) mobal
Köszönöm mindenkinek a tippeket, tanácsokat,
BufferedReader
-rel tökéletesen működik. A Server oldalon már tegnap átírtamRunnable
-re, de módosítom a kliens oldalt is -
Patrick76496
őstag
válasz Aethelstone #9267 üzenetére
Heló!
Ezzel osztom el, hogy a pályán milyen valószínűséggel forduljanak elő az adott dolgok. Kicsit lehet hülyén van kivitelezve, de működik. Szakközép óta nem foglalkoztam javával, szóval 1-2 dolgot át kellett ismételnem a beadandóhoz. Úgy tudom, hogy a zárójelben lévő szám a legnagyobb, amit randomizálhat, a +0 meg a legkisebb.
[ Szerkesztve ]
"I have a few jokes about unemployed people but none of them seem to work.."
-
nagyúr
Újabb kérdéssel fordulnék hozzátok. Adott egy Server és egy Kliens android app. TCP protokollal kommunikálnak. A servernek ugye van egy ip címe, amit ha manuálisan beállítok a kliensen akkor egymásra találnak és mehet az infó küldés. A kérdés az, hogy hogyan tudnám megoldani, hogy ne kelljen a kliensen manuálisan megadni az ip címet, szóval hogyan találja meg az azonos wifi hálózaton lévő servert magától? Mik erre a bevett megoldások?
-
disy68
aktív tag
válasz Patrick76496 #9275 üzenetére
Nullát adni egy számhoz fölösleges, szerintem erre célzott a kolléga
Ami viszont fontosabb, hogy a max érték exclusive, szóval a nextInt(50) 0 és 49 között ad neked egy random számot. Lásd: doksi“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
-
nagyúr
válasz Aethelstone #9279 üzenetére
A port az fix, azt tudom elore, megadom const-kent, az ip ami kerdeses.
Konkretan akkor brute force módszerrel scanneljem vegig a tartomanyt?
-
-
#74220800
törölt tag
Sziasztok!
Néhány algoritmusnak kéne lemernem a tényleges futási idejét. Ehhez szeretnek egy olyan metódust csinálni ami paraméterként elfogad egy másik metódust(az algoritmust) es annak visszaadja a runtimet.
Tudom több megoldas is van a neten rá, de nekem kicsit zavarosak.Legegyszerűbben hogyan tudnám kivitelezni hogy működjön a counter metódusom alább?class SorterTest {
public static void main(String[] args) {
long l = counter(Sorter.quicksort(a));
}
public static long counter(Method method){
long startTime = System.currentTimeMillis();
method();
long stopTime = System.currentTimeMillis();
return stopTime - startTime;
}
} -
disy68
aktív tag
válasz #74220800 #9284 üzenetére
Java 8 alatt van lehetőség metódus referenciát átadni. Akár az alábbihoz hasonlóan is elindulhatsz:
public class MethodRuntimeChecker {
public static void main(String[] args) {
QuickSorter sorter = new QuickSorter();
int[] array = getNumbers(10_000);
System.out.println(mesureRunTimeNano(sorter::sort, array) + " ns");
System.out.println(mesureRunTimeMilli(sorter::sort, array) + " ms");
}
public static long mesureRunTimeNano(Function<int[], int[]> intSorter, int[] toBeSorted) {
long start = System.nanoTime();
intSorter.apply(toBeSorted);
return System.nanoTime() - start;
}
public static long mesureRunTimeMilli(Function<int[], int[]> intSorter, int[] toBeSorted) {
long start = System.currentTimeMillis();
intSorter.apply(toBeSorted);
return System.currentTimeMillis() - start;
}
private static int[] getNumbers(int count) {
int[] numbers = new int[count];
Random random = new Random();
for (int i = 0; i < count; i++) {
numbers[i] = random.nextInt(count);
}
return numbers;
}
}[ Szerkesztve ]
“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
-
#74220800
törölt tag
@emvy , @disy68, thx. Vegul sikerült egyszerűbben megoldanom, de újabb problémába akadtam..
Gyorsrendezést kellene kivitelezni javaban, úgy hogy pivotkent mindig a résztömb utolsó két elemének a lekerekített átlagát kell venni. A kódom működik, úgy ha a pivot mindig résztömb utolsó eleme. Az előző verzióval vmi félrecsúszik. Hálás lennek ha valaki bele tudna kukkantani.
Itt a teszt hozza:
class gyors {
public static void main(String[] args) {
Integer [] a = {-8, -2, -4, -3, -10, -4, -9, -2, -9, -11};
qyors(a,0,a.length-1);
for (int j = 0; j < a.length ; j++) {
System.out.print(a[j] + " ");
}
}
public static void qyors(Integer [] a, int p, int r){
if ( p < r){
int q = Partition(a,p,r);
qyors(a, p, q - 1);
qyors(a, q + 1 , r);
}
}
public static int Partition(Integer [] a, int p, int r){
Integer x = (a[r]+a[r-1])/2; //a resztomb utolso ket elemenek a lekerekitett atlaga kene pivotnak
//Integer x = a[r]; //ezzel mukodik
int i = p - 1;
Integer help;
for (int j = p; j < r ; j++) {
if( a[j] <= x ){
i++;
help = a[i];
a[i] = a[j];
a[j] = help;
}
}
help = a[i+1];
a[i+1] = a[r];
a[r] = help;
return i+1;
}
} -
smallmer
őstag
Sziasztok
van egy listám amiben vannak számpárok(dominók), miután elküldöm őket a kliensnek, azokat amiket elküldtem ki szeretném törölni, itt mindig hibát dob. valamit elcsesztem de nem látom. szerintetek mi a baj?
List<Domino> MyList = new ArrayList<Domino>();
MyList.add(new Domino(0,1));
MyList.add(new Domino(1,2));
MyList.add(new Domino(2,3));
MyList.add(new Domino(3,4));
MyList.add(new Domino(4,5));
MyList.add(new Domino(5,6));
MyList.add(new Domino(6,7));
for (int i = 0; i < 7; i++) {
pw.println(MyList.get(i).getX());
pw.println(MyList.get(i).getY());
System.out.println("elküldve");
}
for (int i = 0; i < 7; i++) {
MyList.remove( MyList.get(i) );
} -
Lortech
addikt
válasz smallmer #9292 üzenetére
A lista nem tömb, ha a listából törölsz egy elemet, akkor csökken a lista hossza.
Tehát az utolsó for ciklusodban, ha jól látom i=4-nél már csak 3 elemed lesz a listában, és nem tudsz megcímezni a get(4) hívással 4-es indexű elemet. Ha minden elemet törölni akarsz, akkor MyList.clear(); Ha egyesével akarod, akkor mindig az elsőt a MyList.remove(0) hívással, vagy inkább iterator.remove.Thank you to god for making me an atheist
-
Sirpi
senior tag
válasz smallmer #9294 üzenetére
A kiíró for ciklust is lehetne szebben írni, pl. nézhetne ki így az inicializálás utáni rész:
for (Domino domino : myList) {
pw.println(domino.getX());
pw.println(domino.getY());
System.out.println("elküldve");
}
Iterator<Domino> it = myList.iterator();
while (it.hasNext()) {
it.remove();
}Vagy az iterátoros rész helyett ennyi is elég lenne, ha csak a funkcionalitásra megyünk:
myList.clear();
[ Szerkesztve ]
Hazudnék, ha cáfolnám annak tagadását, hogy ez az ital nem nélkülözi a koffeinmentesség megnemlétének hiányát. Na most akkor van benne koffein, vagy nincs?!
-
smallmer
őstag
válasz Aethelstone #9295 üzenetére
aha ELTE-s. Egy a baj, bazira kevés a leadott anyag és ahhoz képest szerintem nagyon sok amit kérnek.
Sirpi csak 7 db dominot akarok küldeni, és több van a listában ezért meg 7-ig a for ciklus.
-
smallmer
őstag
Na srácok újabb hiba:
van egy kliensek nevű Listám ami socketeket tartalmat és ezeket akarom accept-elni.
get-el lekérek a socketet a listából,for(int i=0;i<n;++i) {
kliensek.get(i) = server.accept();
}és sajna ezt a hibaüzenetet kapom:
\DominoServer.java:61: error: unexpected type
kliensek.get(i) = server.accept();
^
required: variable
found: value
1 error
1 warningmi lehet a baj?
köszi
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Melyik tápegységet vegyem?
- BestBuy ruhás topik
- Amlogic S905, S912 processzoros készülékek
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Wise (ex-TransferWise)
- Vicces képek
- HiFi műszaki szemmel - sztereó hangrendszerek
- Főzőcskés topic
- További aktív témák...