Chtel bych aby to bylo pri staru ještě
Příspěvky odeslané z IP adresy 149.255.82.–
Ja uz to kompletne prekopal, uz jsem z toho magořil... Ale stejne mi to nejde :(
Mam kod:
public class connect implements Runnable {
String host;
int port;
String send2srv = null;
String getFromSrv = null;
boolean connected = false;
public void setHost(String h) {
this.host = h;
}
public void setPort(int p) {
this.port = p;
}
public synchronized String retrive(String r) {
this.send2srv = r;
return r+host;
}
@Override
public void run() {
try {
Socket conn = new Socket(host,port);
if(conn.isConnected()) {
main.addLog("Jsem pripojen k " + conn.getInetAddress());
}
BufferedReader cteni = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
BufferedWriter zapis = new BufferedWriter(
new OutputStreamWriter(conn.getOutputStream()));
//Poslu prvni uvitaci zpravu
zapis.write("Hi!");zapis.flush();
main.addLog("1");
zapis.write("Hi!");zapis.flush();
System.out.println(cteni.readLine());
zapis.close();
cteni.close();
conn.close();
}
catch (UnknownHostException ex) { System.out.println(ex.toString()); }
catch (IOException ex) { System.out.println(ex.toString()); }
}
}
to uz je otevrene v novem vlakne, ale pri zapis.write("Hi!");zapis.flush(); se na server vubec ten string neposle a uz nevim proc... Param se s tim 5ty den a nemuzu si pomoct...
Jestli bych te mohl poprosit o jabber nebo nejaky rychlejsi komunikacni protokol? Jsem ochotny uz i neco zaplatit jako odmenu za pomoc (Neni to zadna maturitni prace ani nic jineho!)
Dekuji za ochotu
A nezapomen posílat formulař jako enctype="multipart/form-data"
Tak error je tuším pole do kterýho se ukládaj proměný pokud vím, když soubor neexistuje tak se neuploadne takže bych spíše použil třeba size jestli není velikost 0b tak se nevybrala fotka
Jo, ale tohle si samo generuje key.. Ja potrebuju string a svuj
array<Byte> ^chars = System::Text::Encoding::ASCII->GetBytes(cmd);
pin_ptr<Byte> charsPointer = &(chars[0]);
char *nativeCharsPointer = reinterpret_cast<char *>(static_cast<unsigned char *>(charsPointer));
std::string native(nativeCharsPointer, chars->Length);
Funguje, ale místo čřž, ... mi to dá otazníky :( co s tím? Díky
Prosím jak převedu String^ na konstantu char*?
Zkoušel sel sem nějaké návody podle google ale nic nefunguje... :( Mám VS2008
Určitě by to stačilo, ještě lépe, každej windows má v sobě sám o sobě nějakej ZIP/UNZIP ten by se nedal použít? Popř. prosím jak? Díky
Neni nejaka libka kde pouziju ciste jen neco ve stylu unzi("archiv.zip","c:/archiv/rozbaleno")??
Zlib vubec nechapu
Diky
Omlouvam se konkretne hledam C++
To se archívace v C++ nepouziva? :(
Z vlatní zkušenosti...
Zkusil sem už Python, C, C++, C#, javu...Javou se zabývám asi 4měsíce, zatim ji neovládám uplně nejlépe, ale prozatím u ní určitě zůstávám už jen kvůli kompatibilitě s jinejma OS...
A vyhovuje mi struktura kodu :)) Ale to záleží na člověku, co mu padne do oka
Ne, bohužel nic nedostanu, jen mi selže připojení na ftp server, když fw vypnu je vše ok, ale když je zaplej, na nic se ani nezeptá (Windowsackej fw)
Ne, app která využívá komunikaci tak mi vyskočilo okno od fw a zeptalo se blokovat / odblokovat... jak todle okno udělat?
Zdravim,
jak u aplikace v javě dám takovej ten příkaz, kterej mi přidá tu aplikaci do firewallu a povolí komunikaci?
brrr...
mám třídu...
public class NetThread {
public static class MyRunnable implements Runnable {
public String s;
@Override
public void run() {
String user, pass, host, exhash, re;
int toport;
}
}
}
V run mám nadefinované nějaké proměnné a ty potřebuju naplnit těmi informacemi mimo třídu... Takže mam udělat metodu v tý třídě třeba...
public static void data(String user,String pass,String host,int port) {
}
a před otevřením vlákna (t.start()) ještě naplnit metodu proměnými takže nějak takhle:
Thread t;
t = new Thread(new NetThread.MyRunnable());
data("login","heslo","hhhdgad","9999");
t.start();
a do run() to dostat jen pomocí user = data.user; ??
Díky, tohle je takový na logiku na mě náročný, přitom to sou celkem základy :)
A kam nacpat metodu? Bylo by to nejlepsí ale do public void run() nic dát nemužu
Zdravím,
řekněme že mám v jedný třídě uložený 2 informace - user, pass. V týhle třídě potřebuju vytvořit nové vlákno a zároveň mu ty informace předat abych mohl použít např:
public static class MyRunnable implements Runnable {
public String s;
@Override
public void run() {
String re;
re = net.Connect.connect(user, pass);
}
}
Díky..
Zdravím,
zkouším si protentokrát udělat jen malou hello word app jako Java Desktop app (gui) ale při vytvoření projektu v NB nemužu do předem připraveného okna dávat žádné části (button, teext, prostě nic... mám tam furt jen loading ...) Jak to "odemknout?" díky
Takže:
package exdev2.net.crypt;
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class crypt {
private static final String ALGORITHM = "AES";
private static final int ITERATIONS = 2;
public static String encrypt(String value, String myKey, String salt) throws Exception {
Key key = generateKey(myKey);
Cipher c = Cipher.getInstance(ALGORITHM);
c.init(Cipher.ENCRYPT_MODE, key);
String valueToEnc = null;
String eValue = value;
for (int i = 0; i < ITERATIONS; i++) {
valueToEnc = salt + eValue;
byte[] encValue = c.doFinal(valueToEnc.getBytes());
eValue = new BASE64Encoder().encode(encValue);
}
return eValue;
}
public static String decrypt(String value, String myKey ,String salt) throws Exception {
Key key = generateKey(myKey);
Cipher c = Cipher.getInstance(ALGORITHM);
c.init(Cipher.DECRYPT_MODE, key);
String dValue = null;
String valueToDecrypt = value;
for (int i = 0; i < ITERATIONS; i++) {
byte[] decordedValue = new BASE64Decoder().decodeBuffer(valueToDecrypt);
byte[] decValue = c.doFinal(decordedValue);
dValue = new String(decValue).substring(salt.length());
valueToDecrypt = dValue;
}
return dValue;
}
private static Key generateKey(String myKey) {
byte[] kv = null;
kv = myKey.getBytes();
Key key = new SecretKeySpec(kv, ALGORITHM);
return key;
}
}
Máme:
encrypt(value, key,salt);
decrypt(value, key,salt);
-Value sou hodnoty které se (de)cryptuj
-key - je ten náš unikátní klíč, pokud je jinej než co byl použit při cryptování, nemůže se decryptovat (16 znaků snad postačí?)
-salt je vlastně náhodnej řetězec, nemá to vliv na crypt/uncrypt jen pokud zmeníme salt ale key je furt stejný tak vlastně výslednej hash vypadá uplně jinak, ale nehraje roli jestli máme stejný salt řetezec nebo ne, prostě na něm nezávisí vůbec decryptování, má sloužit jen jako jakési zmatení že každý poslání jakéhokoliv příkazu / dat se bude salt generovat nový řetězec, takže každá komunikace bude vypadat uplně jinak i když bude stejná a bude mít stejný key ...
Mám pravdu nebo se pletu? Je to částečně zkopčený a částečně upravený mnou...
No a v čem šifrovat tu prvotní událost? :D
Co todle:
V klientu a serveru bude jeden pevně daný třeba 128znakový klíč. Server vybere 10náhodnejch znaků (z toho klíče), a pošle klientovi
|x|a|Novy_zahashovany_klic - x je start v tom pevně danym klíči, a je konec a pomoci toho se decryptuje tenhle novej klic pomoci nehoz bude probihat cela komunikace, popř. pro větší bezpečnost ten klic, kterej je zahashovanej tak po rozhasovani se treba vynecha 3. a 15. znak a např. každej 10. přenos se bude ten klíč měnit?
Bude to bezpečný nebo to ještě nejak nafistlovat... Třeba už do zahashovanýho kodu přidat před a za 3 nesmyslný znaky a pak je zas odebrat?
Jo a existuje v javě nějaká hotová třída pro takovejdle crypt a decrypt podle unikátního klíče? Koukal sem po netu,ale nenašel sem nic konkrétního
#6 liborb
No a jak udělat, že to bude neopakovatelně? Vlastně ten server vytvoří hash, tudíž se ze strany klienta nedá změnit tudíž to heslo bude zahashováno podle toho klíče a bude to unikátní pro tu relaci že?
Mimochodem a ten jakože "první-unikátní" paket co se pošle - vlastně samotný hash, neměl by být taky nějak šifrovaný? Protože v případě že to někdo bude odposlouchávat a někdo se zrovna logne tak on může "podstrkovat" pakety a může je i správně šifrovat, nebo se pletu?
Popřípadě třeba ještě ten zakodovanej paket rozporcuju na 3 casti a na druhe strane si je zase slozim? :)
#3 liborb
Takže si třeba vymyslet svuj algoritmus? Řekněme že budu posílat 2pakety za sebou
/§/SID/§/aaaaa/§/
/§/START/§/Zprava, ci nejake data/§§/aaaaa/§/
V prvnim paketu musi byt nejake 5tiznakove generovane cislo treba a to musi byt i v nasledujicim paketu, oboje bude zahashovnay treba ze jeste cely paket kazdy druhy znak posunu o 5 znaku v ASCI tabulce nebo tak neco? Co by ste mi doporucili?
Diky
Zdravim,
píšu si měnší app v javě pro linux. Client - server, client je kalsická graf. app pro win v C#.
Má sloužit k zapínání a vypínání některých procesů (příklad - zapne /opt/server/server1.sh)...
Jak zabezpečit co nejlépe ty přenášená data, aby v případě, že by ty data někdo odposlouchával aby nedokázal rozpoznat co tam vlastně proudí? (Hesla hashovat a jen porovnávat to vim, ale v případě že někdo odchytí ten paket na logování a pošle ho znovu tak aby ho to neloglo...)
Díky za help
Zdravím... Mám problém a to že potřebuju mít jakousi třídu, ve který budu mít uložený nějaký proměnný s nastavením a tyhle proměnný potřebuju kdykoliv vytáhnout (nejsou to statické proměnné, můžou se měnit).
Řekněme že mám:
public class Config {
public static void init() {
int ListenPort;
String AllowFrom,DenyFrom,UseDBLogin,UseDBActions;
boolean StartingApp,KillingApp,Reboot;
ListenPort = 9909;
AllowFrom = "all";
DenyFrom = "none";
UseDBLogin = "file";
UseDBActions = "file";
StartingApp = true;
KillingApp = false;
Reboot = false;
}
}
A potřebuju v mainu nějakou promměnou vycucnout...
import exdev2.config.Config;
public class ExDev2 {
public static void main(String[] args) {
Log.addLog(" *** Init ***");
Log.addLog(" *** Starting ExDev ***");
Log.addLog(" > Version: 2.0");
Config.init(); //tady potřebuju dostat proměnou třeba ListenPort ze třídy config...
//jak na to? Díky
}
}
Dej sem přesně chyby co to píše, takhle víme kulový =)
Nějak nechápu tvůj dotaz...
Už jsem to našel, stačí zaškrtnout v nastavení netbeans projektu aby se vytvářel .jar při kompilaci... To se mi povedlo ale následně, když chci ten jar spustit, ubuntu mi vyhodí:
The file '/home/exilim/NetBeansProjects/ExDev2/dist/ExDev2.jar' is not marked as executable. If this was downloaded or copied from an untrusted source, it may be dangerous to run. For more details, read about the executable bit.
Přitom muj kod je jen:
package exdev2;
public class ExDev2 {
public static void main(String[] args) {
// TODO code application logic here
System.out.println("***test***");
}
}
Díky za pomoc
Zdravím, nějakou dobu jsem programoval v jazyce C# na win ve visual studiu, ale nějak mě přestalo bavit, protože nebylo tak "multiplatformní" nebo bylo, ale prostě je to .net... Chtěl sem se trošku proštourat v javě, naučit se jí a nejlépe i na ni přejít, co jsem koukal tak je to dosti podobné... Mám problém s tím, že bych potřeboval (pokud to jde) nastavit netbeans tak, aby mi vždy z projektu nepřeložil pouze .class soubory ale aby mi z toho vyplivnul vždy rovnou .jar? Stačí nějak překopat antbuild nebo je to složitější? Díky za reakce
Místo byteDateLine = System.Text.Encoding.ASCII.GetBytes(strDateLine.ToCharArray());
použít
byteDateLine = System.Text.Encoding.UTF8.GetBytes(strDateLine.ToCharArray());
?
Zdravím, píšu dnes ještě jednou s otázkou... No... Využívám 2 programy které spolu komunikují a pomocí
Byte[] byteDateLine = Encoding.ASCII.GetBytes(cmd.ToCharArray());
m_sock.Send(byteDateLine, byteDateLine.Length, 0);
posílám... Jak docílit toho aby se mi posílaly znaky ěščřžýá... ?? Místo toho se mi posílaj otazníky... Díky...
Dobrá zkusím to přepsat do C++ :)) Díky
Co znamená nepoužít? Jak zjistim co je v net a co není?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.IO;
using Microsoft.Win32;
Zdravím, včera jsem se pustil do psaní jedné menší aplikace v c# (win form), ale třeba na windows XP mi vubec nejede a mám tam problém stáhnout i .net 3.5 protože je microsoft server nedostupnej.
Moje otázka zní, lze nějak importovat všecky knihovny potřebné pro běh programu do toho samého exe souboru (je mi fuk jestli bude mít soubor o 50MBvíc), nebo existuje aspoň nějakej pack kterej jen spustím a sám nainstaluje .net? (Offline instalátor)...
Jde mi o to aby se ta aplikace dokázala pustit sama, když dotyčnej nebude mít .net v pc nainstalovanej aby si případně natahala soubory co potřebuje a následně se pustila...
Díky za pomoc