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

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

 

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

C / C++ › psat server v qt nebo c++ so…
9. 11. 2012   #166285

porad se mi nedari vyresit problem s tim ze neprecte zpravy :( nenapada te jak to vyresit prosim? se sitovymi programy moc zkusenosti nemam,nenapada me proc to nefunguje

C / C++ › psat server v qt nebo c++ so…
8. 11. 2012   #166216

Ahoj,tak premyslim nad tim a asi bude potreba vratit se na zacatek. Nejlip k otazce blokujici vs neblokujici funkce a synchronni vs asynchronni rezim . Co bude nejlepsi? nekde se tady psalo ze pri zpusobu jakym mam server napsany ja se automaticky vytvari nove vlakno,jde v tomto pripade pouzit blokujici funci bez toho ze by to nejak omezovalo funkcnost? co si mam predstavit pod blokujici funkci? ze vlakno vytuhne do doby nez je packet bezpecne poslan? bude fungovat GUI a prijimani dalsich pozadavku? jestli se pro kazdy socket automaticky vytvari nove vlakno tak by to melo se melo bloknout jen to urcite vlakno a cinnost GUI by nemela byt prerusena,nebo se pletu? mam v tom dost zmatek a stavajici reseni se mi prestava libit,zatim je to tak ze klient se pripoji na server,server odesle prikaz k prihlaseni,klient posle prihlasovaci udaje ale ty uz server nedostane. ani se nevyhodi signal readyread ,nic. napada vas cim to je? 

C / C++ › přilinkování knihovny Sdl_im…
1. 11. 2012   #165738

záleží na platformě a nastavení cest ale tohle by mohlo fungovat 

gcc -o main main.cpp `sdl-config --cflags --libs` -lSDL_image
C / C++ › visual c++ vs gcc
1. 11. 2012   #165736

Dekuju moc :) dokud nenarazim na chybu zustanu u visual studia ale nainstaluju 2012 a uvidim jak to dopadne :) 

C / C++ › visual c++ vs gcc
1. 11. 2012   #165733

Takze visual c++ je na tom hur? 

C / C++ › visual c++ vs gcc
1. 11. 2012   #165727

Ahoj,programuju už pár let a dosud sem používal Visual C++,v poslední době ale začínám uvažovat nad gcc (mingw) . Který překladač je kvalitnější,má větší podporu standardů a je rychlejší? Nedávno sem přečetl tohle http://babel.blog.root.cz/2012/06/03/microsoft-a-c11/ a nevím jistě jestli je visual c++ tak dobr´jak se tvrdí. Děkuju za odpovědi.

C / C++ › psat server v qt nebo c++ so…
25. 10. 2012   #165319

Zkousel sem to ale napada me.. vyresi to ten muj problem? nezustane porad to ze server nedokaze rozlisit kdy konci jeden prikaz,data pro prvni prikaz a zacina druhy prikaz? 

martin
C / C++ › psat server v qt nebo c++ so…
21. 10. 2012   #165093

Ahoj,vyzkousel sem vymyslet ten packet system. Je dobry napad udelat to jako tridu napr.

class packet
{
private:

int flag;
QByteArray data;
public:
packet (int flag,QByteArray data);
dalsi funkce,gettery,settery apod.
}
slo by to takhle? nebo je to od zacatku spatne? hodnoty flagu by byly ulozeny jako enum

martin
C / C++ › psat server v qt nebo c++ so…
13. 10. 2012   #164645

dekuju moc, zkusim a napisu jak to dopadlo

martin
C / C++ › psat server v qt nebo c++ so…
13. 10. 2012   #164643

Ahoj,po delsi dobe sem tu s novym problemem. Uz to mam vice mene vyresene ale narazil sem na problem. Server po pripojeni noveho pocitace posle "LOGIN",vyzvu aby se prihlasil. na to mu klient odpovi "LOGINING" a pripravi jmeno a heslo k poslani. Problem je ze misto toho aby se poslalo nejdriv LOGINING a potom teprv jmeno s heslem tak se to posle dohromady. Kod je zde:

okno::okno (QMainWindow* parent):QMainWindow (parent)
{
	dialog=new dialogPrihlaseni ();
	textEdit=new QTextEdit ();
	textBrowser=new QTextBrowser ();
	odeslat=new QPushButton ("odeslat");
	vertikalniLayout=new QVBoxLayout ();
	horizontalniLayout=new QHBoxLayout ();
	boxPrihlaseniLidi=new QComboBox ();
	horizontalniLayoutWidget=new QWidget ();
	vertikalniLayoutWidget=new QWidget ();
	msgVysledekPrihlaseni=new QMessageBox ();
	prijem=new QTcpServer ();
	socket=new QTcpSocket ();
	socketOdesilani=new QTcpSocket ();
	connect (dialog,SIGNAL (spusteno()),SLOT (zjistiUdaje ()));
	nastavLayout ();
	setCentralWidget (vertikalniLayoutWidget);
}
void okno::zjistiUdaje ()
{
	jmeno=dialog->dejJmeno ();
	heslo=dialog->dejHeslo ();
	nastavPripojeni ();
}
void okno::nastavPripojeni ()
{
	adresa=QHostAddress ("192.168.0.101");
	prijem->listen (adresa,25000);
	socketOdesilani->connectToHost (adresa,25000);
	connect (socketOdesilani,SIGNAL (readyRead()),this,SLOT (startRead()));
}
	void okno::startRead ()
{
	//QTcpSocket* socket = qobject_cast<QTcpSocket*>(this->sender());
	 rawdata = socket->readAll();
	 args = rawdata.split(' ');
	 command = args.takeFirst();
	 qDebug() << rawdata;
	 if (command.compare ("LOGIN"))
	 {
		 write ("LOGINING");
		 prezdivkaPoslani=QString  (jmeno);
		 prezdivkaPoslani.append ("////");
		 prezdivkaPoslani.append (heslo);
		 socketOdesilani->write (prezdivkaPoslani.toAscii (),qstrlen (prezdivkaPoslani.toAscii()));
		 socketOdesilani->flush ();
		 socketOdesilani->flush ();
	 }
	 if (command.compare ("LOGINOK"))
	 {
		uspesnePrihlaseni=true;
		 msgVysledekPrihlaseni->setText ("Prihlaseni probehlo spravne.");
		 msgVysledekPrihlaseni->setWindowTitle ("Vitejte");
		 //dialog->hide ();
	 }
	 if (command.compare ("LOGINFALSE"))
	 {
		 msgVysledekPrihlaseni->setText ("prihlaseni se nezdarilo.Zadejte spravne jmeno a heslo");
		 msgVysledekPrihlaseni->setWindowTitle ("chyba!");
		 uspesnePrihlaseni=false;
	 }
	 if (command.compare ("READ"))
	 {
		 //precteni zpravy
	 }


}
void okno::nastavLayout ()
{
	horizontalniLayout->addWidget (textEdit);
	horizontalniLayout->addWidget (boxPrihlaseniLidi);
	horizontalniLayout->addWidget (odeslat);
	vertikalniLayout->addWidget (textBrowser);
	horizontalniLayoutWidget->setLayout (horizontalniLayout);
	vertikalniLayout->addWidget (horizontalniLayoutWidget);
	vertikalniLayoutWidget->setLayout (vertikalniLayout);
}
void okno::write (QByteArray data)
{
	socketOdesilani->write (data);
	socketOdesilani->flush ();
}

neni dodelany ale k popisu problemu staci. Pouzivam flush spravne? myslel sem ze slouzi k okamzitemu zapisu dat. Nejak si s tim nevim rady,server dostane misto "LOGINING" a potom jmena a hesla,tak to vsechno dostane dohromady a takhle by to asi nemelo byt. Mate nejake rady na zlepseni? Dekuju za odpovedi.  

 

 

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